From 6cbd7737aa7cc7895c96a57256709a5f7fb1d739 Mon Sep 17 00:00:00 2001 From: API Team Date: Thu, 14 May 2026 15:43:12 +0000 Subject: [PATCH] [GitHub Bot] Generated python SDK --- .../.openapi-generator/FILES | 4 + thousandeyes-sdk-administrative/README.md | 4 +- .../docs/AgentResponse.md | 3 +- .../docs/EnterpriseAgent.md | 3 +- .../docs/NetworkProviderInfo.md | 32 + .../docs/NetworkProviderType.md | 4 +- .../docs/SimpleAgent.md | 3 +- .../administrative/__init__.py | 2 + .../administrative/models/__init__.py | 2 + .../administrative/models/agent_response.py | 16 +- .../administrative/models/enterprise_agent.py | 16 +- .../models/network_provider_info.py | 96 + .../models/network_provider_type.py | 44 + .../administrative/models/simple_agent.py | 18 +- .../test/test_account_groups_api.py | 8 +- .../.openapi-generator/FILES | 4 + thousandeyes-sdk-agents/README.md | 4 +- thousandeyes-sdk-agents/docs/AgentDetails.md | 3 +- thousandeyes-sdk-agents/docs/AgentResponse.md | 3 +- .../docs/CloudAgentDetail.md | 3 +- .../docs/CloudEnterpriseAgent.md | 3 +- .../docs/EnterpriseAgent.md | 3 +- .../docs/EnterpriseAgentClusterDetail.md | 3 +- .../docs/EnterpriseAgentDetail.md | 3 +- .../docs/NetworkProviderInfo.md | 32 + .../docs/NetworkProviderType.md | 4 +- thousandeyes-sdk-agents/docs/SimpleAgent.md | 3 +- .../docs/SimpleEnterpriseAgent.md | 3 +- .../src/thousandeyes_sdk/agents/__init__.py | 2 + .../agents/models/__init__.py | 2 + .../agents/models/agent_response.py | 16 +- .../agents/models/cloud_agent_detail.py | 16 +- .../agents/models/enterprise_agent.py | 16 +- .../models/enterprise_agent_cluster_detail.py | 16 +- .../agents/models/enterprise_agent_detail.py | 16 +- .../agents/models/network_provider_info.py | 96 + .../agents/models/network_provider_type.py | 17 +- .../agents/models/simple_agent.py | 18 +- .../agents/models/simple_enterprise_agent.py | 16 +- ...enterprise_agent_notification_rules_api.py | 14 +- .../test_cloud_and_enterprise_agents_api.py | 16 +- .../test/test_enterprise_agent_cluster_api.py | 15 +- .../test_tests_assignment_on_agents_api.py | 3 + thousandeyes-sdk-alerts/README.md | 2 +- thousandeyes-sdk-bgp-monitors/README.md | 2 +- .../.openapi-generator/FILES | 18 + thousandeyes-sdk-connectors/README.md | 34 +- .../docs/ConjurConnector.md | 36 + .../docs/ConjurConnectors.md | 30 + .../docs/ConjurHostAuthentication.md | 31 + .../docs/CredentialVaultOperation.md | 34 + .../docs/CredentialVaultOperations.md | 30 + .../docs/CredentialVaultOperationsApi.md | 437 ++++ .../docs/CredentialVaultSecret.md | 31 + .../docs/CyberArkConjurConnectorsApi.md | 613 +++++ .../docs/GenericConnector.md | 3 +- .../docs/GenericConnectorAuth.md | 1 + .../docs/GenericConnectorsApi.md | 8 +- thousandeyes-sdk-connectors/docs/Header.md | 2 +- .../OauthClientCredentialsAuthentication.md | 1 + .../docs/OperationConnectorsApi.md | 16 +- .../docs/WebhookOperationsApi.md | 2 +- .../thousandeyes_sdk/connectors/__init__.py | 8 + .../connectors/api/__init__.py | 2 + .../api/credential_vault_operations_api.py | 1556 ++++++++++++ .../api/cyber_ark_conjur_connectors_api.py | 2191 +++++++++++++++++ .../connectors/api/generic_connectors_api.py | 6 +- .../api/operation_connectors_api.py | 45 +- .../connectors/models/__init__.py | 6 + .../connectors/models/conjur_connector.py | 114 + .../connectors/models/conjur_connectors.py | 101 + .../models/conjur_host_authentication.py | 92 + .../models/credential_vault_operation.py | 113 + .../models/credential_vault_operations.py | 101 + .../models/credential_vault_secret.py | 91 + .../connectors/models/generic_connector.py | 14 +- .../connectors/models/header.py | 4 +- ...oauth_client_credentials_authentication.py | 4 +- .../test_credential_vault_operations_api.py | 287 +++ .../test_cyber_ark_conjur_connectors_api.py | 328 +++ .../test/test_generic_connectors_api.py | 84 + .../test/test_webhook_operations_api.py | 21 + thousandeyes-sdk-credentials/README.md | 2 +- .../.openapi-generator/FILES | 10 - thousandeyes-sdk-dashboards/README.md | 7 +- .../thousandeyes_sdk/dashboards/__init__.py | 5 - .../dashboards/models/__init__.py | 5 - .../models/api_aggregate_property.py | 2 + .../models/api_widget_sort_property.py | 41 - .../dashboards/models/widget_type.py | 54 - .../test/test_dashboard_snapshots_api.py | 44 +- .../test/test_dashboards_api.py | 56 +- thousandeyes-sdk-emulation/README.md | 2 +- thousandeyes-sdk-endpoint-agents/README.md | 2 +- .../README.md | 3 +- .../endpoint_instant_tests/__init__.py | 2 +- ...er_endpoint_instant_scheduled_tests_api.py | 2 +- ...er_endpoint_instant_scheduled_tests_api.py | 2 +- ...un_endpoint_instant_scheduled_tests_api.py | 2 +- .../endpoint_instant_tests/models/__init__.py | 2 +- .../endpoint_agent_labels_selector_config.py | 2 +- .../models/endpoint_agent_selector_config.py | 2 +- .../endpoint_agent_to_server_instant_test.py | 2 +- .../models/endpoint_agent_to_server_test.py | 2 +- .../endpoint_all_agents_selector_config.py | 2 +- .../models/endpoint_http_server_base_test.py | 2 +- .../endpoint_http_server_instant_test.py | 2 +- .../models/endpoint_http_server_test.py | 2 +- .../models/endpoint_instant_test.py | 2 +- .../models/endpoint_ip_version_in.py | 2 +- ...point_run_scheduled_instant_test_result.py | 2 +- .../models/endpoint_scheduled_test_type.py | 2 +- ...ndpoint_specific_agents_selector_config.py | 2 +- .../models/endpoint_test.py | 2 +- .../endpoint_test_agent_selector_type.py | 2 +- .../models/endpoint_test_auth_type.py | 2 +- .../models/endpoint_test_links.py | 2 +- .../models/endpoint_test_protocol.py | 2 +- .../models/endpoint_test_self_link.py | 2 +- .../endpoint_instant_tests/models/error.py | 2 +- .../endpoint_instant_tests/models/link.py | 2 +- .../models/test_interval.py | 2 +- .../models/test_label.py | 2 +- .../models/test_probe_mode.py | 2 +- .../models/test_probe_mode_response.py | 2 +- .../models/test_ssl_version_id.py | 2 +- .../models/unauthorized_error.py | 2 +- .../models/validation_error.py | 2 +- .../models/validation_error_item.py | 2 +- ...er_endpoint_instant_scheduled_tests_api.py | 2 +- ...er_endpoint_instant_scheduled_tests_api.py | 2 +- ...un_endpoint_instant_scheduled_tests_api.py | 2 +- thousandeyes-sdk-endpoint-labels/README.md | 2 +- .../README.md | 2 +- .../docs/DynamicEndpointTestWebex.md | 1 + .../models/cpu_utilization.py | 10 +- .../models/dynamic_endpoint_test_webex.py | 6 +- .../models/real_user_endpoint_test.py | 2 +- .../models/real_user_endpoint_test_base.py | 2 +- .../models/real_user_endpoint_test_detail.py | 2 +- ...ver_endpoint_scheduled_test_results_api.py | 20 +- ...local_network_endpoint_test_results_api.py | 52 +- ...twork_dynamic_endpoint_test_results_api.py | 46 +- ...ork_endpoint_scheduled_test_results_api.py | 56 +- ...est_real_user_endpoint_test_results_api.py | 18 +- thousandeyes-sdk-endpoint-tests/README.md | 3 +- .../endpoint_tests/__init__.py | 2 +- ...nt_to_server_endpoint_dynamic_tests_api.py | 2 +- ..._to_server_endpoint_scheduled_tests_api.py | 2 +- .../api/endpoint_scheduled_tests_api.py | 2 +- ...ttp_server_endpoint_scheduled_tests_api.py | 2 +- .../endpoint_tests/models/__init__.py | 2 +- .../endpoint_tests/models/dynamic_test.py | 2 +- .../models/dynamic_test_links.py | 2 +- .../models/dynamic_test_request.py | 2 +- .../models/dynamic_test_self_link.py | 2 +- .../endpoint_tests/models/dynamic_tests.py | 2 +- .../endpoint_agent_labels_selector_config.py | 2 +- .../models/endpoint_agent_selector_config.py | 2 +- .../endpoint_agent_to_server_instant_test.py | 2 +- .../models/endpoint_agent_to_server_test.py | 2 +- .../endpoint_agent_to_server_test_request.py | 2 +- .../models/endpoint_agent_to_server_tests.py | 2 +- .../endpoint_all_agents_selector_config.py | 2 +- .../models/endpoint_dynamic_test_update.py | 2 +- .../models/endpoint_http_server_base_test.py | 2 +- .../endpoint_http_server_instant_test.py | 2 +- .../models/endpoint_http_server_test.py | 2 +- .../endpoint_http_server_test_request.py | 2 +- .../models/endpoint_http_server_tests.py | 2 +- .../models/endpoint_http_test_update.py | 2 +- .../models/endpoint_instant_test.py | 2 +- .../models/endpoint_ip_version_in.py | 2 +- .../models/endpoint_network_test_update.py | 2 +- .../models/endpoint_scheduled_test_type.py | 2 +- ...ndpoint_specific_agents_selector_config.py | 2 +- .../endpoint_tests/models/endpoint_test.py | 2 +- .../endpoint_test_agent_selector_type.py | 2 +- .../models/endpoint_test_auth_type.py | 2 +- .../models/endpoint_test_links.py | 2 +- .../models/endpoint_test_protocol.py | 2 +- .../models/endpoint_test_self_link.py | 2 +- .../endpoint_tests/models/endpoint_tests.py | 2 +- .../endpoint_tests/models/error.py | 2 +- .../endpoint_tests/models/link.py | 2 +- .../endpoint_tests/models/self_links.py | 2 +- .../endpoint_tests/models/test_interval.py | 2 +- .../endpoint_tests/models/test_label.py | 2 +- .../endpoint_tests/models/test_probe_mode.py | 2 +- .../models/test_probe_mode_response.py | 2 +- .../models/test_ssl_version_id.py | 2 +- .../endpoint_tests/models/test_update.py | 2 +- .../models/unauthorized_error.py | 2 +- .../endpoint_tests/models/validation_error.py | 2 +- .../models/validation_error_item.py | 2 +- ...nt_to_server_endpoint_dynamic_tests_api.py | 2 +- ..._to_server_endpoint_scheduled_tests_api.py | 2 +- .../test/test_endpoint_scheduled_tests_api.py | 2 +- ...ttp_server_endpoint_scheduled_tests_api.py | 2 +- thousandeyes-sdk-event-detection/README.md | 3 +- .../event_detection/__init__.py | 2 +- .../event_detection/api/events_api.py | 2 +- .../event_detection/models/__init__.py | 2 +- .../event_detection/models/affected_agents.py | 2 +- .../event_detection/models/affected_count.py | 2 +- .../models/affected_targets.py | 2 +- .../event_detection/models/affected_tests.py | 2 +- .../event_detection/models/agent_links.py | 2 +- .../models/agent_local_event_detail.py | 2 +- .../models/agent_local_event_grouping.py | 2 +- .../models/api_affected_target.py | 2 +- .../models/cloud_enterprise_agent_type.py | 2 +- .../models/dns_event_detail.py | 2 +- .../models/dns_event_grouping.py | 2 +- .../event_detection/models/error.py | 2 +- .../event_detection/models/event.py | 2 +- .../models/event_alert_severity.py | 2 +- .../models/event_api_affected_agent.py | 2 +- .../models/event_api_affected_test.py | 2 +- .../event_detection/models/event_detail.py | 2 +- .../models/event_detail_base.py | 2 +- .../event_detection/models/event_state.py | 2 +- .../models/event_test_links.py | 2 +- .../event_detection/models/event_type.py | 2 +- .../event_detection/models/events.py | 2 +- .../event_detection/models/link.py | 2 +- .../models/network_event_detail.py | 2 +- .../models/network_event_grouping.py | 2 +- .../models/network_pop_event_detail.py | 2 +- .../models/pagination_next_and_self_links.py | 2 +- .../models/proxy_event_detail.py | 2 +- .../models/proxy_event_grouping.py | 2 +- .../event_detection/models/self_links.py | 2 +- .../models/simple_event_detail.py | 2 +- .../models/target_event_detail.py | 2 +- .../models/target_event_grouping.py | 2 +- .../models/target_network_event_detail.py | 2 +- .../models/target_network_event_grouping.py | 2 +- .../event_detection/models/test_type.py | 2 +- .../models/unauthorized_error.py | 2 +- .../models/validation_error.py | 2 +- .../models/validation_error_item.py | 2 +- .../test/test_events_api.py | 2 +- .../.openapi-generator/FILES | 12 +- thousandeyes-sdk-instant-tests/README.md | 8 +- .../docs/AgentResponse.md | 3 +- .../docs/AgentToAgentInstantTestRequest.md | 4 +- .../docs/AgentToServerInstantTestRequest.md | 4 +- .../docs/ApiInstantTest.md | 1 + .../docs/ApiInstantTestRequest.md | 7 +- .../docs/ApiInstantTestResponse.md | 1 + .../docs/DnsSecInstantTestRequest.md | 4 +- .../docs/DnsServerInstantTestRequest.md | 4 +- .../docs/DnsServerRequestProperties.md | 44 + .../docs/DnsServersRequest.md | 29 - .../docs/DnsTraceInstantTestRequest.md | 4 +- .../docs/FtpServerInstantTestRequest.md | 4 +- .../docs/HttpServerBaseProperties.md | 1 + .../docs/HttpServerInstantTest.md | 1 + .../docs/HttpServerInstantTestRequest.md | 5 +- .../docs/HttpServerInstantTestResponse.md | 1 + .../docs/HttpServerProperties.md | 1 + .../docs/NetworkProviderInfo.md | 32 + .../docs/NetworkProviderType.md | 4 +- .../docs/PageLoadInstantTest.md | 1 + .../docs/PageLoadInstantTestRequest.md | 5 +- .../docs/PageLoadInstantTestResponse.md | 1 + .../docs/PageLoadProperties.md | 1 + .../docs/SimpleAgent.md | 3 +- .../docs/SipServerInstantTestRequest.md | 4 +- .../docs/TestVaultCredential.md | 30 + .../docs/TestVaultCredentialTarget.md | 4 +- .../docs/VoiceInstantTest.md | 2 +- .../docs/VoiceInstantTestRequest.md | 6 +- .../docs/VoiceInstantTestResponse.md | 2 +- .../docs/VoiceProperties.md | 2 +- .../docs/WebTransactionInstantTest.md | 1 + .../docs/WebTransactionInstantTestRequest.md | 7 +- .../docs/WebTransactionInstantTestResponse.md | 1 + .../docs/WebTransactionProperties.md | 1 + .../instant_tests/__init__.py | 6 +- .../instant_tests/models/__init__.py | 6 +- .../instant_tests/models/agent_response.py | 16 +- .../agent_to_agent_instant_test_request.py | 10 +- .../agent_to_server_instant_test_request.py | 10 +- .../instant_tests/models/api_instant_test.py | 14 +- .../models/api_instant_test_request.py | 26 +- .../models/api_instant_test_response.py | 12 +- .../models/dns_sec_instant_test_request.py | 10 +- .../models/dns_server_instant_test_request.py | 10 +- .../models/dns_server_request_properties.py | 126 + .../models/dns_trace_instant_test_request.py | 10 +- .../models/ftp_server_instant_test_request.py | 10 +- .../models/http_server_base_properties.py | 14 +- .../models/http_server_instant_test.py | 12 +- .../http_server_instant_test_request.py | 20 +- .../http_server_instant_test_response.py | 12 +- .../models/http_server_properties.py | 12 +- .../models/network_provider_info.py | 96 + .../models/network_provider_type.py | 44 + .../models/page_load_instant_test.py | 12 +- .../models/page_load_instant_test_request.py | 20 +- .../models/page_load_instant_test_response.py | 12 +- .../models/page_load_properties.py | 12 +- .../instant_tests/models/simple_agent.py | 18 +- .../models/sip_server_instant_test_request.py | 10 +- ...rs_request.py => test_vault_credential.py} | 17 +- .../models/test_vault_credential_target.py | 42 + .../models/voice_instant_test.py | 2 +- .../models/voice_instant_test_request.py | 12 +- .../models/voice_instant_test_response.py | 2 +- .../instant_tests/models/voice_properties.py | 2 +- .../models/web_transaction_instant_test.py | 12 +- .../web_transaction_instant_test_request.py | 26 +- .../web_transaction_instant_test_response.py | 12 +- .../models/web_transaction_properties.py | 12 +- .../test_agent_to_agent_instant_tests_api.py | 14 +- .../test_agent_to_server_instant_tests_api.py | 16 +- .../test/test_api_instant_tests_api.py | 28 +- .../test/test_dns_server_instant_tests_api.py | 14 +- .../test/test_dns_trace_instant_tests_api.py | 14 +- .../test/test_dnssec_instant_tests_api.py | 14 +- .../test/test_ftp_server_instant_tests_api.py | 14 +- .../test_http_page_load_instant_tests_api.py | 28 +- .../test_http_server_instant_tests_api.py | 28 +- .../test/test_sip_server_instant_tests_api.py | 14 +- .../test/test_voice_instant_tests_api.py | 14 +- .../test_web_transaction_instant_tests_api.py | 28 +- thousandeyes-sdk-internet-insights/README.md | 2 +- thousandeyes-sdk-snapshots/README.md | 2 +- .../.openapi-generator/FILES | 4 +- thousandeyes-sdk-streaming/README.md | 4 +- .../docs/CreateStreamResponse.md | 3 +- .../docs/EndpointAgentLabel.md | 2 +- .../docs/EndpointAgentTag.md | 30 + .../docs/GetStreamResponse.md | 3 +- thousandeyes-sdk-streaming/docs/PutStream.md | 3 +- thousandeyes-sdk-streaming/docs/Stream.md | 3 +- .../docs/TagMatchObjectType.md | 12 - .../thousandeyes_sdk/streaming/__init__.py | 2 +- .../streaming/models/__init__.py | 2 +- .../models/create_stream_response.py | 14 +- .../streaming/models/endpoint_agent_label.py | 4 +- .../streaming/models/endpoint_agent_tag.py | 87 + .../streaming/models/get_stream_response.py | 14 +- .../streaming/models/put_stream.py | 16 +- .../streaming/models/stream.py | 14 +- .../streaming/models/tag_match_object_type.py | 40 - .../test/test_streaming_api.py | 67 +- thousandeyes-sdk-tags/README.md | 2 +- thousandeyes-sdk-tags/docs/AccessType.md | 2 +- .../tags/models/access_type.py | 2 +- thousandeyes-sdk-test-results/README.md | 2 +- .../test/test_api_test_results_api.py | 16 +- .../test/test_network_bgp_test_results_api.py | 12 +- .../test/test_network_test_results_api.py | 24 +- .../test_voice_rtp_server_test_results_api.py | 8 +- .../test_voice_sip_server_test_results_api.py | 4 +- .../test_web_http_server_test_results_api.py | 4 +- .../test_web_transactions_test_results_api.py | 16 +- .../.openapi-generator/FILES | 18 +- thousandeyes-sdk-tests/README.md | 11 +- thousandeyes-sdk-tests/docs/AgentResponse.md | 3 +- .../docs/AgentToAgentTestRequest.md | 8 +- .../docs/AgentToServerTestRequest.md | 8 +- thousandeyes-sdk-tests/docs/ApiInstantTest.md | 1 + thousandeyes-sdk-tests/docs/ApiTest.md | 1 + thousandeyes-sdk-tests/docs/ApiTestRequest.md | 11 +- .../docs/ApiTestResponse.md | 1 + thousandeyes-sdk-tests/docs/BaseBgpRequest.md | 43 + thousandeyes-sdk-tests/docs/BgpTestRequest.md | 8 +- .../docs/DnsSecTestRequest.md | 6 +- .../docs/DnsServerRequestProperties.md | 44 + .../docs/DnsServerTestRequest.md | 8 +- .../docs/DnsServersRequest.md | 29 - .../docs/DnsTraceTestRequest.md | 6 +- .../docs/FtpServerTestRequest.md | 8 +- .../docs/HttpServerBaseProperties.md | 1 + .../docs/HttpServerInstantTest.md | 1 + .../docs/HttpServerProperties.md | 1 + thousandeyes-sdk-tests/docs/HttpServerTest.md | 1 + .../docs/HttpServerTestRequest.md | 9 +- .../docs/HttpServerTestResponse.md | 1 + .../docs/NetworkProviderInfo.md | 32 + .../docs/NetworkProviderType.md | 4 +- .../docs/PageLoadInstantTest.md | 1 + .../docs/PageLoadProperties.md | 1 + thousandeyes-sdk-tests/docs/PageLoadTest.md | 1 + .../docs/PageLoadTestRequest.md | 13 +- .../docs/PageLoadTestResponse.md | 1 + thousandeyes-sdk-tests/docs/SimpleAgent.md | 3 +- .../docs/SipServerTestRequest.md | 14 +- .../docs/TestVaultCredential.md | 30 + .../docs/TestVaultCredentialTarget.md | 12 + ...t.md => UnexpandedDnsServerRequestTest.md} | 34 +- .../docs/UnexpandedHttpServerTest.md | 1 + .../docs/UnexpandedPageLoadTest.md | 1 + .../docs/UnexpandedVoiceTest.md | 2 +- .../docs/UnexpandedWebTransactionTest.md | 1 + .../docs/UpdateBgpTestRequest.md | 8 +- .../docs/VoiceInstantTest.md | 2 +- .../docs/VoiceProperties.md | 2 +- thousandeyes-sdk-tests/docs/VoiceTest.md | 2 +- .../docs/VoiceTestRequest.md | 10 +- .../docs/VoiceTestResponse.md | 2 +- .../docs/WebTransactionInstantTest.md | 1 + .../docs/WebTransactionProperties.md | 1 + .../docs/WebTransactionTest.md | 1 + .../docs/WebTransactionTestRequest.md | 13 +- .../docs/WebTransactionTestResponse.md | 1 + .../src/thousandeyes_sdk/tests/__init__.py | 9 +- .../thousandeyes_sdk/tests/models/__init__.py | 9 +- .../tests/models/agent_response.py | 16 +- .../models/agent_to_agent_test_request.py | 20 +- .../models/agent_to_server_test_request.py | 18 +- .../tests/models/api_instant_test.py | 14 +- .../thousandeyes_sdk/tests/models/api_test.py | 12 +- .../tests/models/api_test_request.py | 44 +- .../tests/models/api_test_response.py | 12 +- .../tests/models/base_bgp_request.py | 136 + .../tests/models/bgp_test_request.py | 20 +- .../tests/models/dns_sec_test_request.py | 14 +- .../models/dns_server_request_properties.py | 126 + .../tests/models/dns_server_test_request.py | 20 +- .../tests/models/dns_trace_test_request.py | 14 +- .../tests/models/ftp_server_test_request.py | 20 +- .../models/http_server_base_properties.py | 14 +- .../tests/models/http_server_instant_test.py | 12 +- .../tests/models/http_server_properties.py | 12 +- .../tests/models/http_server_test.py | 12 +- .../tests/models/http_server_test_request.py | 30 +- .../tests/models/http_server_test_response.py | 12 +- .../tests/models/network_provider_info.py | 96 + .../tests/models/network_provider_type.py | 17 +- .../tests/models/page_load_instant_test.py | 12 +- .../tests/models/page_load_properties.py | 12 +- .../tests/models/page_load_test.py | 12 +- .../tests/models/page_load_test_request.py | 38 +- .../tests/models/page_load_test_response.py | 12 +- .../tests/models/simple_agent.py | 18 +- .../tests/models/sip_server_test_request.py | 48 +- ...rs_request.py => test_vault_credential.py} | 17 +- .../models/test_vault_credential_target.py | 15 +- ... => unexpanded_dns_server_request_test.py} | 93 +- .../models/unexpanded_http_server_test.py | 12 +- .../tests/models/unexpanded_page_load_test.py | 12 +- .../tests/models/unexpanded_voice_test.py | 2 +- .../models/unexpanded_web_transaction_test.py | 12 +- .../tests/models/update_bgp_test_request.py | 18 +- .../tests/models/voice_instant_test.py | 2 +- .../tests/models/voice_properties.py | 2 +- .../tests/models/voice_test.py | 2 +- .../tests/models/voice_test_request.py | 32 +- .../tests/models/voice_test_response.py | 2 +- .../models/web_transaction_instant_test.py | 12 +- .../models/web_transaction_properties.py | 12 +- .../tests/models/web_transaction_test.py | 12 +- .../models/web_transaction_test_request.py | 38 +- .../models/web_transaction_test_response.py | 12 +- .../test/test_agent_to_agent_tests_api.py | 42 +- .../test/test_agent_to_server_tests_api.py | 44 +- .../test/test_api_tests_api.py | 109 +- .../test/test_dns_server_tests_api.py | 42 +- .../test/test_dns_trace_tests_api.py | 46 +- .../test/test_dnssec_tests_api.py | 46 +- .../test/test_ftp_server_tests_api.py | 42 +- .../test/test_http_server_tests_api.py | 91 +- .../test/test_page_load_tests_api.py | 91 +- .../test/test_sip_server_tests_api.py | 74 +- .../test/test_voice_tests_api.py | 74 +- .../test/test_web_transaction_tests_api.py | 91 +- thousandeyes-sdk-usage/README.md | 3 +- .../src/thousandeyes_sdk/usage/__init__.py | 2 +- .../thousandeyes_sdk/usage/api/quotas_api.py | 2 +- .../thousandeyes_sdk/usage/api/usage_api.py | 2 +- .../thousandeyes_sdk/usage/models/__init__.py | 2 +- .../usage/models/account_group_quota.py | 2 +- .../models/allocation_unit_usage_breakdown.py | 2 +- .../usage/models/endpoint_agents_embedded.py | 2 +- .../models/endpoint_agents_essentials.py | 2 +- .../usage/models/endpoint_agents_usage.py | 2 +- .../usage/models/enterprise_agent_units.py | 2 +- ...agent_units_by_test_owner_account_group.py | 2 +- .../usage/models/enterprise_agents.py | 2 +- .../usage/models/enterprise_agents_usage.py | 2 +- .../thousandeyes_sdk/usage/models/error.py | 2 +- .../usage/models/expand_usage_options.py | 2 +- .../src/thousandeyes_sdk/usage/models/link.py | 2 +- .../usage/models/organization_quota.py | 2 +- .../models/organization_quota_assignment.py | 2 +- .../models/organization_quota_unassignment.py | 2 +- .../models/organizations_quotas_assign.py | 2 +- .../models/organizations_quotas_unassign.py | 2 +- .../usage/models/pagination_links.py | 2 +- .../thousandeyes_sdk/usage/models/quota.py | 2 +- .../thousandeyes_sdk/usage/models/quotas.py | 2 +- .../usage/models/quotas_assign_request.py | 2 +- .../usage/models/quotas_assign_response.py | 2 +- .../usage/models/quotas_unassign.py | 2 +- .../usage/models/self_links.py | 2 +- .../usage/models/test_usage.py | 2 +- .../usage/models/tests_usage.py | 2 +- .../usage/models/unauthorized_error.py | 2 +- .../usage/models/unit_allocation_summary.py | 2 +- .../usage/models/units_by_tests.py | 2 +- .../thousandeyes_sdk/usage/models/usage.py | 2 +- .../usage/models/usage_details.py | 2 +- .../usage/models/usage_quota.py | 2 +- .../usage/models/validation_error.py | 2 +- .../usage/models/validation_error_item.py | 2 +- .../test/test_quotas_api.py | 2 +- thousandeyes-sdk-usage/test/test_usage_api.py | 2 +- 512 files changed, 10160 insertions(+), 1723 deletions(-) create mode 100644 thousandeyes-sdk-administrative/docs/NetworkProviderInfo.md rename thousandeyes-sdk-dashboards/docs/ApiAgentWidgetShow.md => thousandeyes-sdk-administrative/docs/NetworkProviderType.md (79%) create mode 100644 thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/network_provider_info.py create mode 100644 thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/network_provider_type.py create mode 100644 thousandeyes-sdk-agents/docs/NetworkProviderInfo.md rename thousandeyes-sdk-dashboards/docs/ApiAgentWidgetType.md => thousandeyes-sdk-agents/docs/NetworkProviderType.md (79%) create mode 100644 thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/network_provider_info.py rename thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_agent_widget_show.py => thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/network_provider_type.py (58%) create mode 100644 thousandeyes-sdk-connectors/docs/ConjurConnector.md create mode 100644 thousandeyes-sdk-connectors/docs/ConjurConnectors.md create mode 100644 thousandeyes-sdk-connectors/docs/ConjurHostAuthentication.md create mode 100644 thousandeyes-sdk-connectors/docs/CredentialVaultOperation.md create mode 100644 thousandeyes-sdk-connectors/docs/CredentialVaultOperations.md create mode 100644 thousandeyes-sdk-connectors/docs/CredentialVaultOperationsApi.md create mode 100644 thousandeyes-sdk-connectors/docs/CredentialVaultSecret.md create mode 100644 thousandeyes-sdk-connectors/docs/CyberArkConjurConnectorsApi.md create mode 100644 thousandeyes-sdk-connectors/src/thousandeyes_sdk/connectors/api/credential_vault_operations_api.py create mode 100644 thousandeyes-sdk-connectors/src/thousandeyes_sdk/connectors/api/cyber_ark_conjur_connectors_api.py create mode 100644 thousandeyes-sdk-connectors/src/thousandeyes_sdk/connectors/models/conjur_connector.py create mode 100644 thousandeyes-sdk-connectors/src/thousandeyes_sdk/connectors/models/conjur_connectors.py create mode 100644 thousandeyes-sdk-connectors/src/thousandeyes_sdk/connectors/models/conjur_host_authentication.py create mode 100644 thousandeyes-sdk-connectors/src/thousandeyes_sdk/connectors/models/credential_vault_operation.py create mode 100644 thousandeyes-sdk-connectors/src/thousandeyes_sdk/connectors/models/credential_vault_operations.py create mode 100644 thousandeyes-sdk-connectors/src/thousandeyes_sdk/connectors/models/credential_vault_secret.py create mode 100644 thousandeyes-sdk-connectors/test/test_credential_vault_operations_api.py create mode 100644 thousandeyes-sdk-connectors/test/test_cyber_ark_conjur_connectors_api.py delete mode 100644 thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_widget_sort_property.py delete mode 100644 thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/widget_type.py create mode 100644 thousandeyes-sdk-instant-tests/docs/DnsServerRequestProperties.md delete mode 100644 thousandeyes-sdk-instant-tests/docs/DnsServersRequest.md create mode 100644 thousandeyes-sdk-instant-tests/docs/NetworkProviderInfo.md rename thousandeyes-sdk-dashboards/docs/WidgetType.md => thousandeyes-sdk-instant-tests/docs/NetworkProviderType.md (79%) create mode 100644 thousandeyes-sdk-instant-tests/docs/TestVaultCredential.md rename thousandeyes-sdk-dashboards/docs/ApiWidgetSortDirection.md => thousandeyes-sdk-instant-tests/docs/TestVaultCredentialTarget.md (76%) create mode 100644 thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/dns_server_request_properties.py create mode 100644 thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/network_provider_info.py create mode 100644 thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/network_provider_type.py rename thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/{dns_servers_request.py => test_vault_credential.py} (79%) create mode 100644 thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/test_vault_credential_target.py create mode 100644 thousandeyes-sdk-streaming/docs/EndpointAgentTag.md delete mode 100644 thousandeyes-sdk-streaming/docs/TagMatchObjectType.md create mode 100644 thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/endpoint_agent_tag.py delete mode 100644 thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/tag_match_object_type.py create mode 100644 thousandeyes-sdk-tests/docs/BaseBgpRequest.md create mode 100644 thousandeyes-sdk-tests/docs/DnsServerRequestProperties.md delete mode 100644 thousandeyes-sdk-tests/docs/DnsServersRequest.md create mode 100644 thousandeyes-sdk-tests/docs/NetworkProviderInfo.md rename thousandeyes-sdk-dashboards/docs/ApiWidgetSortProperty.md => thousandeyes-sdk-tests/docs/NetworkProviderType.md (79%) create mode 100644 thousandeyes-sdk-tests/docs/TestVaultCredential.md create mode 100644 thousandeyes-sdk-tests/docs/TestVaultCredentialTarget.md rename thousandeyes-sdk-tests/docs/{UpdateSipServerTest.md => UnexpandedDnsServerRequestTest.md} (66%) create mode 100644 thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/base_bgp_request.py create mode 100644 thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_server_request_properties.py create mode 100644 thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/network_provider_info.py rename thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_widget_sort_direction.py => thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/network_provider_type.py (51%) rename thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/{dns_servers_request.py => test_vault_credential.py} (78%) rename thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_agent_widget_type.py => thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_vault_credential_target.py (52%) rename thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/{update_sip_server_test.py => unexpanded_dns_server_request_test.py} (62%) diff --git a/thousandeyes-sdk-administrative/.openapi-generator/FILES b/thousandeyes-sdk-administrative/.openapi-generator/FILES index a6a23acc..7400c7c2 100644 --- a/thousandeyes-sdk-administrative/.openapi-generator/FILES +++ b/thousandeyes-sdk-administrative/.openapi-generator/FILES @@ -28,6 +28,8 @@ docs/ExpandAccountGroupOptions.md docs/ExtendedUser.md docs/InterfaceIpMapping.md docs/Link.md +docs/NetworkProviderInfo.md +docs/NetworkProviderType.md docs/PaginationLinks.md docs/Permission.md docs/Permissions.md @@ -93,6 +95,8 @@ src/thousandeyes_sdk/administrative/models/expand_account_group_options.py src/thousandeyes_sdk/administrative/models/extended_user.py src/thousandeyes_sdk/administrative/models/interface_ip_mapping.py src/thousandeyes_sdk/administrative/models/link.py +src/thousandeyes_sdk/administrative/models/network_provider_info.py +src/thousandeyes_sdk/administrative/models/network_provider_type.py src/thousandeyes_sdk/administrative/models/pagination_links.py src/thousandeyes_sdk/administrative/models/permission.py src/thousandeyes_sdk/administrative/models/permissions.py diff --git a/thousandeyes-sdk-administrative/README.md b/thousandeyes-sdk-administrative/README.md index 58967831..e64be8b9 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.84 +- API version: 7.0.88 - Generator version: 7.6.0 - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator @@ -152,6 +152,8 @@ Class | Method | HTTP request | Description - [ExtendedUser](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/ExtendedUser.md) - [InterfaceIpMapping](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/InterfaceIpMapping.md) - [Link](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/Link.md) + - [NetworkProviderInfo](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/NetworkProviderInfo.md) + - [NetworkProviderType](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/NetworkProviderType.md) - [PaginationLinks](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/PaginationLinks.md) - [Permission](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/Permission.md) - [Permissions](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/Permissions.md) diff --git a/thousandeyes-sdk-administrative/docs/AgentResponse.md b/thousandeyes-sdk-administrative/docs/AgentResponse.md index 6fefe825..473d500a 100644 --- a/thousandeyes-sdk-administrative/docs/AgentResponse.md +++ b/thousandeyes-sdk-administrative/docs/AgentResponse.md @@ -13,9 +13,10 @@ Name | Type | Description | Notes **location** | **str** | Location of the agent. | [optional] [readonly] **country_id** | **str** | 2-digit ISO country code | [optional] [readonly] **coordinates** | [**Coordinates**](Coordinates.md) | | [optional] +**network_provider_info** | [**NetworkProviderInfo**](NetworkProviderInfo.md) | | [optional] [readonly] **enabled** | **bool** | Flag indicating if the agent is enabled. | [optional] -**prefix** | **str** | Prefix containing agents public IP address. | [optional] [readonly] **verify_ssl_certificates** | **bool** | Flag indicating if has normal SSL operations or if instead it's set to ignore SSL errors on browserbot-based tests. | [optional] [readonly] +**prefix** | **str** | Prefix containing agents public IP address. | [optional] [readonly] **agent_type** | [**CloudEnterpriseAgentType**](CloudEnterpriseAgentType.md) | | ## Example diff --git a/thousandeyes-sdk-administrative/docs/EnterpriseAgent.md b/thousandeyes-sdk-administrative/docs/EnterpriseAgent.md index b0b5e6c4..e861d773 100644 --- a/thousandeyes-sdk-administrative/docs/EnterpriseAgent.md +++ b/thousandeyes-sdk-administrative/docs/EnterpriseAgent.md @@ -14,9 +14,10 @@ Name | Type | Description | Notes **location** | **str** | Location of the agent. | [optional] [readonly] **country_id** | **str** | 2-digit ISO country code | [optional] [readonly] **coordinates** | [**Coordinates**](Coordinates.md) | | [optional] +**network_provider_info** | [**NetworkProviderInfo**](NetworkProviderInfo.md) | | [optional] [readonly] **enabled** | **bool** | Flag indicating if the agent is enabled. | [optional] -**prefix** | **str** | Prefix containing agents public IP address. | [optional] [readonly] **verify_ssl_certificates** | **bool** | Flag indicating if has normal SSL operations or if instead it's set to ignore SSL errors on browserbot-based tests. | [optional] [readonly] +**prefix** | **str** | Prefix containing agents public IP address. | [optional] [readonly] **test_ids** | **List[int]** | List of test IDs assigned to the agent. | [optional] [readonly] **tests** | [**List[SimpleTest]**](SimpleTest.md) | List of tests. See `/tests` for more information. | [optional] **cluster_members** | [**List[ClusterMember]**](ClusterMember.md) | If an enterprise agent is clustered, detailed information about each cluster member will be shown as array entries in the clusterMembers field. This field is not shown for Enterprise Agents in standalone mode, or for Cloud Agents. | [optional] [readonly] diff --git a/thousandeyes-sdk-administrative/docs/NetworkProviderInfo.md b/thousandeyes-sdk-administrative/docs/NetworkProviderInfo.md new file mode 100644 index 00000000..f36073b6 --- /dev/null +++ b/thousandeyes-sdk-administrative/docs/NetworkProviderInfo.md @@ -0,0 +1,32 @@ +# NetworkProviderInfo + +Information about the network provider that owns the agent's public IP prefix. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**asn** | **int** | Autonomous System Number (ASN) announcing the agent's public IP prefix. | [optional] [readonly] +**name** | **str** | Name of the network provider organization. | [optional] [readonly] +**type** | [**NetworkProviderType**](NetworkProviderType.md) | | [optional] + +## Example + +```python +from thousandeyes_sdk.administrative.models.network_provider_info import NetworkProviderInfo + +# TODO update the JSON string below +json = "{}" +# create an instance of NetworkProviderInfo from a JSON string +network_provider_info_instance = NetworkProviderInfo.from_json(json) +# print the JSON string representation of the object +print(NetworkProviderInfo.to_json()) + +# convert the object into a dict +network_provider_info_dict = network_provider_info_instance.to_dict() +# create an instance of NetworkProviderInfo from a dict +network_provider_info_from_dict = NetworkProviderInfo.from_dict(network_provider_info_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/thousandeyes-sdk-dashboards/docs/ApiAgentWidgetShow.md b/thousandeyes-sdk-administrative/docs/NetworkProviderType.md similarity index 79% rename from thousandeyes-sdk-dashboards/docs/ApiAgentWidgetShow.md rename to thousandeyes-sdk-administrative/docs/NetworkProviderType.md index ad666be6..efc6dd07 100644 --- a/thousandeyes-sdk-dashboards/docs/ApiAgentWidgetShow.md +++ b/thousandeyes-sdk-administrative/docs/NetworkProviderType.md @@ -1,6 +1,6 @@ -# ApiAgentWidgetShow +# NetworkProviderType -Ownership of the agent. +Classification of the agent's network provider. ## Properties diff --git a/thousandeyes-sdk-administrative/docs/SimpleAgent.md b/thousandeyes-sdk-administrative/docs/SimpleAgent.md index e10fd61f..472c9ca7 100644 --- a/thousandeyes-sdk-administrative/docs/SimpleAgent.md +++ b/thousandeyes-sdk-administrative/docs/SimpleAgent.md @@ -13,9 +13,10 @@ Name | Type | Description | Notes **location** | **str** | Location of the agent. | [optional] [readonly] **country_id** | **str** | 2-digit ISO country code | [optional] [readonly] **coordinates** | [**Coordinates**](Coordinates.md) | | [optional] +**network_provider_info** | [**NetworkProviderInfo**](NetworkProviderInfo.md) | | [optional] [readonly] **enabled** | **bool** | Flag indicating if the agent is enabled. | [optional] -**prefix** | **str** | Prefix containing agents public IP address. | [optional] [readonly] **verify_ssl_certificates** | **bool** | Flag indicating if has normal SSL operations or if instead it's set to ignore SSL errors on browserbot-based tests. | [optional] [readonly] +**prefix** | **str** | Prefix containing agents public IP address. | [optional] [readonly] ## Example diff --git a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/__init__.py b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/__init__.py index 6331ed24..643468c2 100644 --- a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/__init__.py +++ b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/__init__.py @@ -48,6 +48,8 @@ from thousandeyes_sdk.administrative.models.expand_account_group_options import from thousandeyes_sdk.administrative.models.extended_user import ExtendedUser from thousandeyes_sdk.administrative.models.interface_ip_mapping import InterfaceIpMapping from thousandeyes_sdk.administrative.models.link import Link +from thousandeyes_sdk.administrative.models.network_provider_info import NetworkProviderInfo +from thousandeyes_sdk.administrative.models.network_provider_type import NetworkProviderType from thousandeyes_sdk.administrative.models.pagination_links import PaginationLinks from thousandeyes_sdk.administrative.models.permission import Permission from thousandeyes_sdk.administrative.models.permissions import Permissions diff --git a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/__init__.py b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/__init__.py index fb3b7fb8..a24b23e4 100644 --- a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/__init__.py +++ b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/__init__.py @@ -39,6 +39,8 @@ from thousandeyes_sdk.administrative.models.expand_account_group_options import from thousandeyes_sdk.administrative.models.extended_user import ExtendedUser from thousandeyes_sdk.administrative.models.interface_ip_mapping import InterfaceIpMapping from thousandeyes_sdk.administrative.models.link import Link +from thousandeyes_sdk.administrative.models.network_provider_info import NetworkProviderInfo +from thousandeyes_sdk.administrative.models.network_provider_type import NetworkProviderType from thousandeyes_sdk.administrative.models.pagination_links import PaginationLinks from thousandeyes_sdk.administrative.models.permission import Permission from thousandeyes_sdk.administrative.models.permissions import Permissions diff --git a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/agent_response.py b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/agent_response.py index 57f8b7b7..b59c33fe 100644 --- a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/agent_response.py +++ b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/agent_response.py @@ -20,6 +20,7 @@ from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr from typing import Any, ClassVar, Dict, List, Optional from thousandeyes_sdk.administrative.models.cloud_enterprise_agent_type import CloudEnterpriseAgentType from thousandeyes_sdk.administrative.models.coordinates import Coordinates +from thousandeyes_sdk.administrative.models.network_provider_info import NetworkProviderInfo from typing import Optional, Set from typing_extensions import Self @@ -35,11 +36,12 @@ class AgentResponse(BaseModel): location: Optional[StrictStr] = Field(default=None, description="Location of the agent.") country_id: Optional[StrictStr] = Field(default=None, description="2-digit ISO country code", alias="countryId") coordinates: Optional[Coordinates] = None + network_provider_info: Optional[NetworkProviderInfo] = Field(default=None, alias="networkProviderInfo") enabled: Optional[StrictBool] = Field(default=None, description="Flag indicating if the agent is enabled.") - prefix: Optional[StrictStr] = Field(default=None, description="Prefix containing agents public IP address.") verify_ssl_certificates: Optional[StrictBool] = Field(default=None, description="Flag indicating if has normal SSL operations or if instead it's set to ignore SSL errors on browserbot-based tests.", alias="verifySslCertificates") + prefix: Optional[StrictStr] = Field(default=None, description="Prefix containing agents public IP address.") agent_type: CloudEnterpriseAgentType = Field(alias="agentType") - __properties: ClassVar[List[str]] = ["ipAddresses", "publicIpAddresses", "network", "agentId", "agentName", "location", "countryId", "coordinates", "enabled", "prefix", "verifySslCertificates", "agentType"] + __properties: ClassVar[List[str]] = ["ipAddresses", "publicIpAddresses", "network", "agentId", "agentName", "location", "countryId", "coordinates", "networkProviderInfo", "enabled", "verifySslCertificates", "prefix", "agentType"] model_config = ConfigDict( populate_by_name=True, @@ -80,6 +82,7 @@ class AgentResponse(BaseModel): * OpenAPI `readOnly` fields are excluded. * OpenAPI `readOnly` fields are excluded. * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. """ excluded_fields: Set[str] = set([ "ip_addresses", @@ -88,8 +91,9 @@ class AgentResponse(BaseModel): "agent_id", "location", "country_id", - "prefix", + "network_provider_info", "verify_ssl_certificates", + "prefix", ]) _dict = self.model_dump( @@ -100,6 +104,9 @@ class AgentResponse(BaseModel): # override the default output from pydantic by calling `to_dict()` of coordinates if self.coordinates: _dict['coordinates'] = self.coordinates.to_dict() + # override the default output from pydantic by calling `to_dict()` of network_provider_info + if self.network_provider_info: + _dict['networkProviderInfo'] = self.network_provider_info.to_dict() return _dict @classmethod @@ -120,9 +127,10 @@ class AgentResponse(BaseModel): "location": obj.get("location"), "countryId": obj.get("countryId"), "coordinates": Coordinates.from_dict(obj["coordinates"]) if obj.get("coordinates") is not None else None, + "networkProviderInfo": NetworkProviderInfo.from_dict(obj["networkProviderInfo"]) if obj.get("networkProviderInfo") is not None else None, "enabled": obj.get("enabled"), - "prefix": obj.get("prefix"), "verifySslCertificates": obj.get("verifySslCertificates"), + "prefix": obj.get("prefix"), "agentType": obj.get("agentType") }) return _obj diff --git a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/enterprise_agent.py b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/enterprise_agent.py index f41c1b6f..00b910f8 100644 --- a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/enterprise_agent.py +++ b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/enterprise_agent.py @@ -27,6 +27,7 @@ from thousandeyes_sdk.administrative.models.enterprise_agent_ipv6_policy import from thousandeyes_sdk.administrative.models.enterprise_agent_state import EnterpriseAgentState from thousandeyes_sdk.administrative.models.error_detail import ErrorDetail from thousandeyes_sdk.administrative.models.interface_ip_mapping import InterfaceIpMapping +from thousandeyes_sdk.administrative.models.network_provider_info import NetworkProviderInfo from thousandeyes_sdk.administrative.models.simple_test import SimpleTest from typing import Optional, Set from typing_extensions import Self @@ -44,9 +45,10 @@ class EnterpriseAgent(BaseModel): location: Optional[StrictStr] = Field(default=None, description="Location of the agent.") country_id: Optional[StrictStr] = Field(default=None, description="2-digit ISO country code", alias="countryId") coordinates: Optional[Coordinates] = None + network_provider_info: Optional[NetworkProviderInfo] = Field(default=None, alias="networkProviderInfo") enabled: Optional[StrictBool] = Field(default=None, description="Flag indicating if the agent is enabled.") - prefix: Optional[StrictStr] = Field(default=None, description="Prefix containing agents public IP address.") verify_ssl_certificates: Optional[StrictBool] = Field(default=None, description="Flag indicating if has normal SSL operations or if instead it's set to ignore SSL errors on browserbot-based tests.", alias="verifySslCertificates") + prefix: Optional[StrictStr] = Field(default=None, description="Prefix containing agents public IP address.") test_ids: Optional[List[StrictInt]] = Field(default=None, description="List of test IDs assigned to the agent.", alias="testIds") tests: Optional[List[SimpleTest]] = Field(default=None, description="List of tests. See `/tests` for more information.") cluster_members: Optional[List[ClusterMember]] = Field(default=None, description="If an enterprise agent is clustered, detailed information about each cluster member will be shown as array entries in the clusterMembers field. This field is not shown for Enterprise Agents in standalone mode, or for Cloud Agents.", alias="clusterMembers") @@ -62,7 +64,7 @@ class EnterpriseAgent(BaseModel): target_for_tests: Optional[StrictStr] = Field(default=None, description="Test target IP address.", alias="targetForTests") local_resolution_prefixes: Optional[List[StrictStr]] = Field(default=None, description="To perform rDNS lookups for public IP ranges, this field represents the public IP ranges. The range must be in CIDR notation; for example, 10.1.1.0/24. Maximum of 5 prefixes allowed (Enterprise Agents and Enterprise Agent clusters only).", alias="localResolutionPrefixes") interface_ip_mapping: Optional[List[InterfaceIpMapping]] = Field(default=None, alias="interfaceIpMapping") - __properties: ClassVar[List[str]] = ["agentType", "ipAddresses", "publicIpAddresses", "network", "agentId", "agentName", "location", "countryId", "coordinates", "enabled", "prefix", "verifySslCertificates", "testIds", "tests", "clusterMembers", "utilization", "accountGroups", "ipv6Policy", "errorDetails", "hostname", "lastSeen", "agentState", "keepBrowserCache", "createdDate", "targetForTests", "localResolutionPrefixes", "interfaceIpMapping"] + __properties: ClassVar[List[str]] = ["agentType", "ipAddresses", "publicIpAddresses", "network", "agentId", "agentName", "location", "countryId", "coordinates", "networkProviderInfo", "enabled", "verifySslCertificates", "prefix", "testIds", "tests", "clusterMembers", "utilization", "accountGroups", "ipv6Policy", "errorDetails", "hostname", "lastSeen", "agentState", "keepBrowserCache", "createdDate", "targetForTests", "localResolutionPrefixes", "interfaceIpMapping"] model_config = ConfigDict( populate_by_name=True, @@ -111,6 +113,7 @@ class EnterpriseAgent(BaseModel): * OpenAPI `readOnly` fields are excluded. * OpenAPI `readOnly` fields are excluded. * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. """ excluded_fields: Set[str] = set([ "ip_addresses", @@ -119,8 +122,9 @@ class EnterpriseAgent(BaseModel): "agent_id", "location", "country_id", - "prefix", + "network_provider_info", "verify_ssl_certificates", + "prefix", "test_ids", "cluster_members", "utilization", @@ -139,6 +143,9 @@ class EnterpriseAgent(BaseModel): # override the default output from pydantic by calling `to_dict()` of coordinates if self.coordinates: _dict['coordinates'] = self.coordinates.to_dict() + # override the default output from pydantic by calling `to_dict()` of network_provider_info + if self.network_provider_info: + _dict['networkProviderInfo'] = self.network_provider_info.to_dict() # override the default output from pydantic by calling `to_dict()` of each item in tests (list) _items = [] if self.tests: @@ -195,9 +202,10 @@ class EnterpriseAgent(BaseModel): "location": obj.get("location"), "countryId": obj.get("countryId"), "coordinates": Coordinates.from_dict(obj["coordinates"]) if obj.get("coordinates") is not None else None, + "networkProviderInfo": NetworkProviderInfo.from_dict(obj["networkProviderInfo"]) if obj.get("networkProviderInfo") is not None else None, "enabled": obj.get("enabled"), - "prefix": obj.get("prefix"), "verifySslCertificates": obj.get("verifySslCertificates"), + "prefix": obj.get("prefix"), "testIds": obj.get("testIds"), "tests": [SimpleTest.from_dict(_item) for _item in obj["tests"]] if obj.get("tests") is not None else None, "clusterMembers": [ClusterMember.from_dict(_item) for _item in obj["clusterMembers"]] if obj.get("clusterMembers") is not None else None, diff --git a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/network_provider_info.py b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/network_provider_info.py new file mode 100644 index 00000000..4a49e7c5 --- /dev/null +++ b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/network_provider_info.py @@ -0,0 +1,96 @@ +# coding: utf-8 + +""" + Administrative API + + Manage users, accounts, and account groups in the ThousandEyes platform using the Administrative API. This API provides the following operations to manage your organization: * `/account-groups`: Account groups are used to divide an organization into different sections. These operations can be used to create, retrieve, update and delete account groups. * `/users`: Create, retrieve, update and delete users within an organization. * `/roles`: Create, retrieve and update roles for the current user. * `/permissions`: Retrieve all assignable permissions. Used in the context of modifying roles. * `/audit-user-events`: Retrieve all activity log events. For more information about the administrative models, see [Account Management](https://docs.thousandeyes.com/product-documentation/user-management). + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from thousandeyes_sdk.administrative.models.network_provider_type import NetworkProviderType +from typing import Optional, Set +from typing_extensions import Self + +class NetworkProviderInfo(BaseModel): + """ + Information about the network provider that owns the agent's public IP prefix. + """ # noqa: E501 + asn: Optional[StrictInt] = Field(default=None, description="Autonomous System Number (ASN) announcing the agent's public IP prefix.") + name: Optional[StrictStr] = Field(default=None, description="Name of the network provider organization.") + type: Optional[NetworkProviderType] = None + __properties: ClassVar[List[str]] = ["asn", "name", "type"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + extra="allow", + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return self.model_dump_json(by_alias=True, exclude_unset=True, exclude_none=True) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of NetworkProviderInfo from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "asn", + "name", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of NetworkProviderInfo from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "asn": obj.get("asn"), + "name": obj.get("name"), + "type": obj.get("type") + }) + return _obj + + diff --git a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/network_provider_type.py b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/network_provider_type.py new file mode 100644 index 00000000..03bccf7e --- /dev/null +++ b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/network_provider_type.py @@ -0,0 +1,44 @@ +# coding: utf-8 + +""" + Administrative API + + Manage users, accounts, and account groups in the ThousandEyes platform using the Administrative API. This API provides the following operations to manage your organization: * `/account-groups`: Account groups are used to divide an organization into different sections. These operations can be used to create, retrieve, update and delete account groups. * `/users`: Create, retrieve, update and delete users within an organization. * `/roles`: Create, retrieve and update roles for the current user. * `/permissions`: Retrieve all assignable permissions. Used in the context of modifying roles. * `/audit-user-events`: Retrieve all activity log events. For more information about the administrative models, see [Account Management](https://docs.thousandeyes.com/product-documentation/user-management). + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class NetworkProviderType(str, Enum): + """ + Classification of the agent's network provider. + """ + + """ + allowed enum values + """ + UNKNOWN = 'unknown' + ISP = 'isp' + CDN = 'cdn' + STUB = 'stub' + CLOUD_MINUS_PROVIDER = 'cloud-provider' + CARRIER = 'carrier' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of NetworkProviderType from a JSON string""" + return cls(json.loads(json_str)) + + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN + diff --git a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/simple_agent.py b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/simple_agent.py index 7177d35f..31eb8ad0 100644 --- a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/simple_agent.py +++ b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/simple_agent.py @@ -19,6 +19,7 @@ import json from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr from typing import Any, ClassVar, Dict, List, Optional from thousandeyes_sdk.administrative.models.coordinates import Coordinates +from thousandeyes_sdk.administrative.models.network_provider_info import NetworkProviderInfo from typing import Optional, Set from typing_extensions import Self @@ -34,10 +35,11 @@ class SimpleAgent(BaseModel): location: Optional[StrictStr] = Field(default=None, description="Location of the agent.") country_id: Optional[StrictStr] = Field(default=None, description="2-digit ISO country code", alias="countryId") coordinates: Optional[Coordinates] = None + network_provider_info: Optional[NetworkProviderInfo] = Field(default=None, alias="networkProviderInfo") enabled: Optional[StrictBool] = Field(default=None, description="Flag indicating if the agent is enabled.") - prefix: Optional[StrictStr] = Field(default=None, description="Prefix containing agents public IP address.") verify_ssl_certificates: Optional[StrictBool] = Field(default=None, description="Flag indicating if has normal SSL operations or if instead it's set to ignore SSL errors on browserbot-based tests.", alias="verifySslCertificates") - __properties: ClassVar[List[str]] = ["ipAddresses", "publicIpAddresses", "network", "agentId", "agentName", "location", "countryId", "coordinates", "enabled", "prefix", "verifySslCertificates"] + prefix: Optional[StrictStr] = Field(default=None, description="Prefix containing agents public IP address.") + __properties: ClassVar[List[str]] = ["ipAddresses", "publicIpAddresses", "network", "agentId", "agentName", "location", "countryId", "coordinates", "networkProviderInfo", "enabled", "verifySslCertificates", "prefix"] model_config = ConfigDict( populate_by_name=True, @@ -78,6 +80,7 @@ class SimpleAgent(BaseModel): * OpenAPI `readOnly` fields are excluded. * OpenAPI `readOnly` fields are excluded. * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. """ excluded_fields: Set[str] = set([ "ip_addresses", @@ -86,8 +89,9 @@ class SimpleAgent(BaseModel): "agent_id", "location", "country_id", - "prefix", + "network_provider_info", "verify_ssl_certificates", + "prefix", ]) _dict = self.model_dump( @@ -98,6 +102,9 @@ class SimpleAgent(BaseModel): # override the default output from pydantic by calling `to_dict()` of coordinates if self.coordinates: _dict['coordinates'] = self.coordinates.to_dict() + # override the default output from pydantic by calling `to_dict()` of network_provider_info + if self.network_provider_info: + _dict['networkProviderInfo'] = self.network_provider_info.to_dict() return _dict @classmethod @@ -118,9 +125,10 @@ class SimpleAgent(BaseModel): "location": obj.get("location"), "countryId": obj.get("countryId"), "coordinates": Coordinates.from_dict(obj["coordinates"]) if obj.get("coordinates") is not None else None, + "networkProviderInfo": NetworkProviderInfo.from_dict(obj["networkProviderInfo"]) if obj.get("networkProviderInfo") is not None else None, "enabled": obj.get("enabled"), - "prefix": obj.get("prefix"), - "verifySslCertificates": obj.get("verifySslCertificates") + "verifySslCertificates": obj.get("verifySslCertificates"), + "prefix": obj.get("prefix") }) return _obj diff --git a/thousandeyes-sdk-administrative/test/test_account_groups_api.py b/thousandeyes-sdk-administrative/test/test_account_groups_api.py index 057314d6..ac0edecc 100644 --- a/thousandeyes-sdk-administrative/test/test_account_groups_api.py +++ b/thousandeyes-sdk-administrative/test/test_account_groups_api.py @@ -127,7 +127,7 @@ class TestAccountGroupsApi(unittest.TestCase): }, "accountGroupName" : "Account A", "isDefaultAccountGroup" : true, - "accountToken" : "6j052y4vfgyuhefghue", + "accountToken" : "accountToken", "aid" : "1234", "orgId" : "12345", "users" : [ { @@ -170,6 +170,7 @@ class TestAccountGroupsApi(unittest.TestCase): "agentType" : "enterprise-cluster", "ipv6Policy" : "force-ipv4", "prefix" : "99.128.0.0/11", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", @@ -315,6 +316,7 @@ class TestAccountGroupsApi(unittest.TestCase): "agentType" : "enterprise-cluster", "ipv6Policy" : "force-ipv4", "prefix" : "99.128.0.0/11", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", @@ -531,7 +533,7 @@ class TestAccountGroupsApi(unittest.TestCase): }, "accountGroupName" : "Account A", "isDefaultAccountGroup" : true, - "accountToken" : "6j052y4vfgyuhefghue", + "accountToken" : "accountToken", "aid" : "1234", "orgId" : "12345", "users" : [ { @@ -574,6 +576,7 @@ class TestAccountGroupsApi(unittest.TestCase): "agentType" : "enterprise-cluster", "ipv6Policy" : "force-ipv4", "prefix" : "99.128.0.0/11", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", @@ -719,6 +722,7 @@ class TestAccountGroupsApi(unittest.TestCase): "agentType" : "enterprise-cluster", "ipv6Policy" : "force-ipv4", "prefix" : "99.128.0.0/11", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", diff --git a/thousandeyes-sdk-agents/.openapi-generator/FILES b/thousandeyes-sdk-agents/.openapi-generator/FILES index e379d004..44898817 100644 --- a/thousandeyes-sdk-agents/.openapi-generator/FILES +++ b/thousandeyes-sdk-agents/.openapi-generator/FILES @@ -43,6 +43,8 @@ docs/ErrorDetailCode.md docs/InterfaceIpMapping.md docs/Link.md docs/ListNotificationRulesResponse.md +docs/NetworkProviderInfo.md +docs/NetworkProviderType.md docs/NotificationRule.md docs/NotificationRuleDetail.md docs/NotificationRules.md @@ -108,6 +110,8 @@ src/thousandeyes_sdk/agents/models/error_detail_code.py src/thousandeyes_sdk/agents/models/interface_ip_mapping.py src/thousandeyes_sdk/agents/models/link.py src/thousandeyes_sdk/agents/models/list_notification_rules_response.py +src/thousandeyes_sdk/agents/models/network_provider_info.py +src/thousandeyes_sdk/agents/models/network_provider_type.py src/thousandeyes_sdk/agents/models/notification_rule.py src/thousandeyes_sdk/agents/models/notification_rule_detail.py src/thousandeyes_sdk/agents/models/notification_rules.py diff --git a/thousandeyes-sdk-agents/README.md b/thousandeyes-sdk-agents/README.md index 453ff5b1..68c22d39 100644 --- a/thousandeyes-sdk-agents/README.md +++ b/thousandeyes-sdk-agents/README.md @@ -5,7 +5,7 @@ Manage Cloud and Enterprise Agents available to your account in ThousandEyes. This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: -- API version: 7.0.84 +- API version: 7.0.88 - Generator version: 7.6.0 - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator @@ -150,6 +150,8 @@ Class | Method | HTTP request | Description - [InterfaceIpMapping](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/InterfaceIpMapping.md) - [Link](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/Link.md) - [ListNotificationRulesResponse](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/ListNotificationRulesResponse.md) + - [NetworkProviderInfo](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/NetworkProviderInfo.md) + - [NetworkProviderType](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/NetworkProviderType.md) - [NotificationRule](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/NotificationRule.md) - [NotificationRuleDetail](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/NotificationRuleDetail.md) - [NotificationRules](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/NotificationRules.md) diff --git a/thousandeyes-sdk-agents/docs/AgentDetails.md b/thousandeyes-sdk-agents/docs/AgentDetails.md index 605e6010..7159cb2e 100644 --- a/thousandeyes-sdk-agents/docs/AgentDetails.md +++ b/thousandeyes-sdk-agents/docs/AgentDetails.md @@ -13,9 +13,10 @@ Name | Type | Description | Notes **location** | **str** | Location of the agent. | [optional] [readonly] **country_id** | **str** | 2-digit ISO country code | [optional] [readonly] **coordinates** | [**Coordinates**](Coordinates.md) | | [optional] +**network_provider_info** | [**NetworkProviderInfo**](NetworkProviderInfo.md) | | [optional] [readonly] **enabled** | **bool** | Flag indicating if the agent is enabled. | [optional] -**prefix** | **str** | Prefix containing agents public IP address. | [optional] [readonly] **verify_ssl_certificates** | **bool** | Flag indicating if has normal SSL operations or if instead it's set to ignore SSL errors on browserbot-based tests. | [optional] [readonly] +**prefix** | **str** | Prefix containing agents public IP address. | [optional] [readonly] **agent_type** | **str** | Enterprise Cluster agent type. | **tests** | [**List[SimpleTest]**](SimpleTest.md) | List of tests. See `/tests` for more information. | [optional] **labels** | [**List[AgentLabel]**](AgentLabel.md) | List of labels. See `/labels` for more information. | [optional] [readonly] diff --git a/thousandeyes-sdk-agents/docs/AgentResponse.md b/thousandeyes-sdk-agents/docs/AgentResponse.md index d651cef5..407e2865 100644 --- a/thousandeyes-sdk-agents/docs/AgentResponse.md +++ b/thousandeyes-sdk-agents/docs/AgentResponse.md @@ -13,9 +13,10 @@ Name | Type | Description | Notes **location** | **str** | Location of the agent. | [optional] [readonly] **country_id** | **str** | 2-digit ISO country code | [optional] [readonly] **coordinates** | [**Coordinates**](Coordinates.md) | | [optional] +**network_provider_info** | [**NetworkProviderInfo**](NetworkProviderInfo.md) | | [optional] [readonly] **enabled** | **bool** | Flag indicating if the agent is enabled. | [optional] -**prefix** | **str** | Prefix containing agents public IP address. | [optional] [readonly] **verify_ssl_certificates** | **bool** | Flag indicating if has normal SSL operations or if instead it's set to ignore SSL errors on browserbot-based tests. | [optional] [readonly] +**prefix** | **str** | Prefix containing agents public IP address. | [optional] [readonly] **agent_type** | [**CloudEnterpriseAgentType**](CloudEnterpriseAgentType.md) | | ## Example diff --git a/thousandeyes-sdk-agents/docs/CloudAgentDetail.md b/thousandeyes-sdk-agents/docs/CloudAgentDetail.md index 672541b9..33fa7131 100644 --- a/thousandeyes-sdk-agents/docs/CloudAgentDetail.md +++ b/thousandeyes-sdk-agents/docs/CloudAgentDetail.md @@ -13,9 +13,10 @@ Name | Type | Description | Notes **location** | **str** | Location of the agent. | [optional] [readonly] **country_id** | **str** | 2-digit ISO country code | [optional] [readonly] **coordinates** | [**Coordinates**](Coordinates.md) | | [optional] +**network_provider_info** | [**NetworkProviderInfo**](NetworkProviderInfo.md) | | [optional] [readonly] **enabled** | **bool** | Flag indicating if the agent is enabled. | [optional] -**prefix** | **str** | Prefix containing agents public IP address. | [optional] [readonly] **verify_ssl_certificates** | **bool** | Flag indicating if has normal SSL operations or if instead it's set to ignore SSL errors on browserbot-based tests. | [optional] [readonly] +**prefix** | **str** | Prefix containing agents public IP address. | [optional] [readonly] **agent_type** | **str** | Cloud agent type. | **tests** | [**List[SimpleTest]**](SimpleTest.md) | List of tests. See `/tests` for more information. | [optional] **labels** | [**List[AgentLabel]**](AgentLabel.md) | List of labels - see `/labels` for more information. | [optional] [readonly] diff --git a/thousandeyes-sdk-agents/docs/CloudEnterpriseAgent.md b/thousandeyes-sdk-agents/docs/CloudEnterpriseAgent.md index eb2e93cd..ad64ab13 100644 --- a/thousandeyes-sdk-agents/docs/CloudEnterpriseAgent.md +++ b/thousandeyes-sdk-agents/docs/CloudEnterpriseAgent.md @@ -14,9 +14,10 @@ Name | Type | Description | Notes **location** | **str** | Location of the agent. | [optional] [readonly] **country_id** | **str** | 2-digit ISO country code | [optional] [readonly] **coordinates** | [**Coordinates**](Coordinates.md) | | [optional] +**network_provider_info** | [**NetworkProviderInfo**](NetworkProviderInfo.md) | | [optional] [readonly] **enabled** | **bool** | Flag indicating if the agent is enabled. | [optional] -**prefix** | **str** | Prefix containing agents public IP address. | [optional] [readonly] **verify_ssl_certificates** | **bool** | Flag indicating if has normal SSL operations or if instead it's set to ignore SSL errors on browserbot-based tests. | [optional] [readonly] +**prefix** | **str** | Prefix containing agents public IP address. | [optional] [readonly] **test_ids** | **List[int]** | List of test IDs assigned to the agent. | [optional] [readonly] **tests** | [**List[SimpleTest]**](SimpleTest.md) | List of tests. See `/tests` for more information. | [optional] **cluster_members** | [**List[ClusterMember]**](ClusterMember.md) | If an enterprise agent is clustered, detailed information about each cluster member will be shown as array entries in the clusterMembers field. This field is not shown for Enterprise Agents in standalone mode, or for Cloud Agents. | [optional] [readonly] diff --git a/thousandeyes-sdk-agents/docs/EnterpriseAgent.md b/thousandeyes-sdk-agents/docs/EnterpriseAgent.md index eb8068e3..cb69f65e 100644 --- a/thousandeyes-sdk-agents/docs/EnterpriseAgent.md +++ b/thousandeyes-sdk-agents/docs/EnterpriseAgent.md @@ -14,9 +14,10 @@ Name | Type | Description | Notes **location** | **str** | Location of the agent. | [optional] [readonly] **country_id** | **str** | 2-digit ISO country code | [optional] [readonly] **coordinates** | [**Coordinates**](Coordinates.md) | | [optional] +**network_provider_info** | [**NetworkProviderInfo**](NetworkProviderInfo.md) | | [optional] [readonly] **enabled** | **bool** | Flag indicating if the agent is enabled. | [optional] -**prefix** | **str** | Prefix containing agents public IP address. | [optional] [readonly] **verify_ssl_certificates** | **bool** | Flag indicating if has normal SSL operations or if instead it's set to ignore SSL errors on browserbot-based tests. | [optional] [readonly] +**prefix** | **str** | Prefix containing agents public IP address. | [optional] [readonly] **test_ids** | **List[int]** | List of test IDs assigned to the agent. | [optional] [readonly] **tests** | [**List[SimpleTest]**](SimpleTest.md) | List of tests. See `/tests` for more information. | [optional] **cluster_members** | [**List[ClusterMember]**](ClusterMember.md) | If an enterprise agent is clustered, detailed information about each cluster member will be shown as array entries in the clusterMembers field. This field is not shown for Enterprise Agents in standalone mode, or for Cloud Agents. | [optional] [readonly] diff --git a/thousandeyes-sdk-agents/docs/EnterpriseAgentClusterDetail.md b/thousandeyes-sdk-agents/docs/EnterpriseAgentClusterDetail.md index 46fb580d..424b11f1 100644 --- a/thousandeyes-sdk-agents/docs/EnterpriseAgentClusterDetail.md +++ b/thousandeyes-sdk-agents/docs/EnterpriseAgentClusterDetail.md @@ -13,9 +13,10 @@ Name | Type | Description | Notes **location** | **str** | Location of the agent. | [optional] [readonly] **country_id** | **str** | 2-digit ISO country code | [optional] [readonly] **coordinates** | [**Coordinates**](Coordinates.md) | | [optional] +**network_provider_info** | [**NetworkProviderInfo**](NetworkProviderInfo.md) | | [optional] [readonly] **enabled** | **bool** | Flag indicating if the agent is enabled. | [optional] -**prefix** | **str** | Prefix containing agents public IP address. | [optional] [readonly] **verify_ssl_certificates** | **bool** | Flag indicating if has normal SSL operations or if instead it's set to ignore SSL errors on browserbot-based tests. | [optional] [readonly] +**prefix** | **str** | Prefix containing agents public IP address. | [optional] [readonly] **test_ids** | **List[int]** | List of test IDs assigned to the agent. | [optional] [readonly] **tests** | [**List[SimpleTest]**](SimpleTest.md) | List of tests. See `/tests` for more information. | [optional] **cluster_members** | [**List[ClusterMember]**](ClusterMember.md) | If an enterprise agent is clustered, detailed information about each cluster member will be shown as array entries in the clusterMembers field. This field is not shown for Enterprise Agents in standalone mode, or for Cloud Agents. | [optional] [readonly] diff --git a/thousandeyes-sdk-agents/docs/EnterpriseAgentDetail.md b/thousandeyes-sdk-agents/docs/EnterpriseAgentDetail.md index 196a77bc..b9046df6 100644 --- a/thousandeyes-sdk-agents/docs/EnterpriseAgentDetail.md +++ b/thousandeyes-sdk-agents/docs/EnterpriseAgentDetail.md @@ -13,9 +13,10 @@ Name | Type | Description | Notes **location** | **str** | Location of the agent. | [optional] [readonly] **country_id** | **str** | 2-digit ISO country code | [optional] [readonly] **coordinates** | [**Coordinates**](Coordinates.md) | | [optional] +**network_provider_info** | [**NetworkProviderInfo**](NetworkProviderInfo.md) | | [optional] [readonly] **enabled** | **bool** | Flag indicating if the agent is enabled. | [optional] -**prefix** | **str** | Prefix containing agents public IP address. | [optional] [readonly] **verify_ssl_certificates** | **bool** | Flag indicating if has normal SSL operations or if instead it's set to ignore SSL errors on browserbot-based tests. | [optional] [readonly] +**prefix** | **str** | Prefix containing agents public IP address. | [optional] [readonly] **test_ids** | **List[int]** | List of test IDs assigned to the agent. | [optional] [readonly] **tests** | [**List[SimpleTest]**](SimpleTest.md) | List of tests. See `/tests` for more information. | [optional] **cluster_members** | [**List[ClusterMember]**](ClusterMember.md) | If an enterprise agent is clustered, detailed information about each cluster member will be shown as array entries in the clusterMembers field. This field is not shown for Enterprise Agents in standalone mode, or for Cloud Agents. | [optional] [readonly] diff --git a/thousandeyes-sdk-agents/docs/NetworkProviderInfo.md b/thousandeyes-sdk-agents/docs/NetworkProviderInfo.md new file mode 100644 index 00000000..b34847c7 --- /dev/null +++ b/thousandeyes-sdk-agents/docs/NetworkProviderInfo.md @@ -0,0 +1,32 @@ +# NetworkProviderInfo + +Information about the network provider that owns the agent's public IP prefix. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**asn** | **int** | Autonomous System Number (ASN) announcing the agent's public IP prefix. | [optional] [readonly] +**name** | **str** | Name of the network provider organization. | [optional] [readonly] +**type** | [**NetworkProviderType**](NetworkProviderType.md) | | [optional] + +## Example + +```python +from thousandeyes_sdk.agents.models.network_provider_info import NetworkProviderInfo + +# TODO update the JSON string below +json = "{}" +# create an instance of NetworkProviderInfo from a JSON string +network_provider_info_instance = NetworkProviderInfo.from_json(json) +# print the JSON string representation of the object +print(NetworkProviderInfo.to_json()) + +# convert the object into a dict +network_provider_info_dict = network_provider_info_instance.to_dict() +# create an instance of NetworkProviderInfo from a dict +network_provider_info_from_dict = NetworkProviderInfo.from_dict(network_provider_info_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/thousandeyes-sdk-dashboards/docs/ApiAgentWidgetType.md b/thousandeyes-sdk-agents/docs/NetworkProviderType.md similarity index 79% rename from thousandeyes-sdk-dashboards/docs/ApiAgentWidgetType.md rename to thousandeyes-sdk-agents/docs/NetworkProviderType.md index 0be0c87f..efc6dd07 100644 --- a/thousandeyes-sdk-dashboards/docs/ApiAgentWidgetType.md +++ b/thousandeyes-sdk-agents/docs/NetworkProviderType.md @@ -1,6 +1,6 @@ -# ApiAgentWidgetType +# NetworkProviderType -Type of the agent. +Classification of the agent's network provider. ## Properties diff --git a/thousandeyes-sdk-agents/docs/SimpleAgent.md b/thousandeyes-sdk-agents/docs/SimpleAgent.md index 69afdda7..65b946b3 100644 --- a/thousandeyes-sdk-agents/docs/SimpleAgent.md +++ b/thousandeyes-sdk-agents/docs/SimpleAgent.md @@ -13,9 +13,10 @@ Name | Type | Description | Notes **location** | **str** | Location of the agent. | [optional] [readonly] **country_id** | **str** | 2-digit ISO country code | [optional] [readonly] **coordinates** | [**Coordinates**](Coordinates.md) | | [optional] +**network_provider_info** | [**NetworkProviderInfo**](NetworkProviderInfo.md) | | [optional] [readonly] **enabled** | **bool** | Flag indicating if the agent is enabled. | [optional] -**prefix** | **str** | Prefix containing agents public IP address. | [optional] [readonly] **verify_ssl_certificates** | **bool** | Flag indicating if has normal SSL operations or if instead it's set to ignore SSL errors on browserbot-based tests. | [optional] [readonly] +**prefix** | **str** | Prefix containing agents public IP address. | [optional] [readonly] ## Example diff --git a/thousandeyes-sdk-agents/docs/SimpleEnterpriseAgent.md b/thousandeyes-sdk-agents/docs/SimpleEnterpriseAgent.md index 2bd882b9..4de484da 100644 --- a/thousandeyes-sdk-agents/docs/SimpleEnterpriseAgent.md +++ b/thousandeyes-sdk-agents/docs/SimpleEnterpriseAgent.md @@ -13,9 +13,10 @@ Name | Type | Description | Notes **location** | **str** | Location of the agent. | [optional] [readonly] **country_id** | **str** | 2-digit ISO country code | [optional] [readonly] **coordinates** | [**Coordinates**](Coordinates.md) | | [optional] +**network_provider_info** | [**NetworkProviderInfo**](NetworkProviderInfo.md) | | [optional] [readonly] **enabled** | **bool** | Flag indicating if the agent is enabled. | [optional] -**prefix** | **str** | Prefix containing agents public IP address. | [optional] [readonly] **verify_ssl_certificates** | **bool** | Flag indicating if has normal SSL operations or if instead it's set to ignore SSL errors on browserbot-based tests. | [optional] [readonly] +**prefix** | **str** | Prefix containing agents public IP address. | [optional] [readonly] **test_ids** | **List[int]** | List of test IDs assigned to the agent. | [optional] [readonly] **tests** | [**List[SimpleTest]**](SimpleTest.md) | List of tests. See `/tests` for more information. | [optional] **cluster_members** | [**List[ClusterMember]**](ClusterMember.md) | If an enterprise agent is clustered, detailed information about each cluster member will be shown as array entries in the clusterMembers field. This field is not shown for Enterprise Agents in standalone mode, or for Cloud Agents. | [optional] [readonly] diff --git a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/__init__.py b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/__init__.py index 36235531..72537dab 100644 --- a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/__init__.py +++ b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/__init__.py @@ -60,6 +60,8 @@ from thousandeyes_sdk.agents.models.error_detail_code import ErrorDetailCode from thousandeyes_sdk.agents.models.interface_ip_mapping import InterfaceIpMapping from thousandeyes_sdk.agents.models.link import Link from thousandeyes_sdk.agents.models.list_notification_rules_response import ListNotificationRulesResponse +from thousandeyes_sdk.agents.models.network_provider_info import NetworkProviderInfo +from thousandeyes_sdk.agents.models.network_provider_type import NetworkProviderType from thousandeyes_sdk.agents.models.notification_rule import NotificationRule from thousandeyes_sdk.agents.models.notification_rule_detail import NotificationRuleDetail from thousandeyes_sdk.agents.models.notification_rules import NotificationRules diff --git a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/__init__.py b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/__init__.py index 62389d14..99a50bd0 100644 --- a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/__init__.py +++ b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/__init__.py @@ -51,6 +51,8 @@ from thousandeyes_sdk.agents.models.error_detail_code import ErrorDetailCode from thousandeyes_sdk.agents.models.interface_ip_mapping import InterfaceIpMapping from thousandeyes_sdk.agents.models.link import Link from thousandeyes_sdk.agents.models.list_notification_rules_response import ListNotificationRulesResponse +from thousandeyes_sdk.agents.models.network_provider_info import NetworkProviderInfo +from thousandeyes_sdk.agents.models.network_provider_type import NetworkProviderType from thousandeyes_sdk.agents.models.notification_rule import NotificationRule from thousandeyes_sdk.agents.models.notification_rule_detail import NotificationRuleDetail from thousandeyes_sdk.agents.models.notification_rules import NotificationRules diff --git a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/agent_response.py b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/agent_response.py index 273b8439..b8e18290 100644 --- a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/agent_response.py +++ b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/agent_response.py @@ -20,6 +20,7 @@ from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr from typing import Any, ClassVar, Dict, List, Optional from thousandeyes_sdk.agents.models.cloud_enterprise_agent_type import CloudEnterpriseAgentType from thousandeyes_sdk.agents.models.coordinates import Coordinates +from thousandeyes_sdk.agents.models.network_provider_info import NetworkProviderInfo from typing import Optional, Set from typing_extensions import Self @@ -35,11 +36,12 @@ class AgentResponse(BaseModel): location: Optional[StrictStr] = Field(default=None, description="Location of the agent.") country_id: Optional[StrictStr] = Field(default=None, description="2-digit ISO country code", alias="countryId") coordinates: Optional[Coordinates] = None + network_provider_info: Optional[NetworkProviderInfo] = Field(default=None, alias="networkProviderInfo") enabled: Optional[StrictBool] = Field(default=None, description="Flag indicating if the agent is enabled.") - prefix: Optional[StrictStr] = Field(default=None, description="Prefix containing agents public IP address.") verify_ssl_certificates: Optional[StrictBool] = Field(default=None, description="Flag indicating if has normal SSL operations or if instead it's set to ignore SSL errors on browserbot-based tests.", alias="verifySslCertificates") + prefix: Optional[StrictStr] = Field(default=None, description="Prefix containing agents public IP address.") agent_type: CloudEnterpriseAgentType = Field(alias="agentType") - __properties: ClassVar[List[str]] = ["ipAddresses", "publicIpAddresses", "network", "agentId", "agentName", "location", "countryId", "coordinates", "enabled", "prefix", "verifySslCertificates", "agentType"] + __properties: ClassVar[List[str]] = ["ipAddresses", "publicIpAddresses", "network", "agentId", "agentName", "location", "countryId", "coordinates", "networkProviderInfo", "enabled", "verifySslCertificates", "prefix", "agentType"] model_config = ConfigDict( populate_by_name=True, @@ -80,6 +82,7 @@ class AgentResponse(BaseModel): * OpenAPI `readOnly` fields are excluded. * OpenAPI `readOnly` fields are excluded. * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. """ excluded_fields: Set[str] = set([ "ip_addresses", @@ -88,8 +91,9 @@ class AgentResponse(BaseModel): "agent_id", "location", "country_id", - "prefix", + "network_provider_info", "verify_ssl_certificates", + "prefix", ]) _dict = self.model_dump( @@ -100,6 +104,9 @@ class AgentResponse(BaseModel): # override the default output from pydantic by calling `to_dict()` of coordinates if self.coordinates: _dict['coordinates'] = self.coordinates.to_dict() + # override the default output from pydantic by calling `to_dict()` of network_provider_info + if self.network_provider_info: + _dict['networkProviderInfo'] = self.network_provider_info.to_dict() return _dict @classmethod @@ -120,9 +127,10 @@ class AgentResponse(BaseModel): "location": obj.get("location"), "countryId": obj.get("countryId"), "coordinates": Coordinates.from_dict(obj["coordinates"]) if obj.get("coordinates") is not None else None, + "networkProviderInfo": NetworkProviderInfo.from_dict(obj["networkProviderInfo"]) if obj.get("networkProviderInfo") is not None else None, "enabled": obj.get("enabled"), - "prefix": obj.get("prefix"), "verifySslCertificates": obj.get("verifySslCertificates"), + "prefix": obj.get("prefix"), "agentType": obj.get("agentType") }) return _obj diff --git a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/cloud_agent_detail.py b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/cloud_agent_detail.py index 82c43be4..1196523c 100644 --- a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/cloud_agent_detail.py +++ b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/cloud_agent_detail.py @@ -22,6 +22,7 @@ from typing_extensions import Annotated from thousandeyes_sdk.agents.models.agent_label import AgentLabel from thousandeyes_sdk.agents.models.agent_tag import AgentTag from thousandeyes_sdk.agents.models.coordinates import Coordinates +from thousandeyes_sdk.agents.models.network_provider_info import NetworkProviderInfo from thousandeyes_sdk.agents.models.self_links import SelfLinks from thousandeyes_sdk.agents.models.simple_test import SimpleTest from typing import Optional, Set @@ -39,15 +40,16 @@ class CloudAgentDetail(BaseModel): location: Optional[StrictStr] = Field(default=None, description="Location of the agent.") country_id: Optional[StrictStr] = Field(default=None, description="2-digit ISO country code", alias="countryId") coordinates: Optional[Coordinates] = None + network_provider_info: Optional[NetworkProviderInfo] = Field(default=None, alias="networkProviderInfo") enabled: Optional[StrictBool] = Field(default=None, description="Flag indicating if the agent is enabled.") - prefix: Optional[StrictStr] = Field(default=None, description="Prefix containing agents public IP address.") verify_ssl_certificates: Optional[StrictBool] = Field(default=None, description="Flag indicating if has normal SSL operations or if instead it's set to ignore SSL errors on browserbot-based tests.", alias="verifySslCertificates") + prefix: Optional[StrictStr] = Field(default=None, description="Prefix containing agents public IP address.") agent_type: Annotated[str, Field(strict=True)] = Field(description="Cloud agent type.", alias="agentType") tests: Optional[List[SimpleTest]] = Field(default=None, description="List of tests. See `/tests` for more information.") labels: Optional[List[AgentLabel]] = Field(default=None, description="List of labels - see `/labels` for more information.") tags: Optional[List[AgentTag]] = Field(default=None, description="List of tags. See `/tags` for more information.") links: Optional[SelfLinks] = Field(default=None, alias="_links") - __properties: ClassVar[List[str]] = ["ipAddresses", "publicIpAddresses", "network", "agentId", "agentName", "location", "countryId", "coordinates", "enabled", "prefix", "verifySslCertificates", "agentType", "tests", "labels", "tags", "_links"] + __properties: ClassVar[List[str]] = ["ipAddresses", "publicIpAddresses", "network", "agentId", "agentName", "location", "countryId", "coordinates", "networkProviderInfo", "enabled", "verifySslCertificates", "prefix", "agentType", "tests", "labels", "tags", "_links"] @field_validator('agent_type') def agent_type_validate_regular_expression(cls, value): @@ -97,6 +99,7 @@ class CloudAgentDetail(BaseModel): * OpenAPI `readOnly` fields are excluded. * OpenAPI `readOnly` fields are excluded. * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. """ excluded_fields: Set[str] = set([ "ip_addresses", @@ -105,8 +108,9 @@ class CloudAgentDetail(BaseModel): "agent_id", "location", "country_id", - "prefix", + "network_provider_info", "verify_ssl_certificates", + "prefix", "labels", "tags", ]) @@ -119,6 +123,9 @@ class CloudAgentDetail(BaseModel): # override the default output from pydantic by calling `to_dict()` of coordinates if self.coordinates: _dict['coordinates'] = self.coordinates.to_dict() + # override the default output from pydantic by calling `to_dict()` of network_provider_info + if self.network_provider_info: + _dict['networkProviderInfo'] = self.network_provider_info.to_dict() # override the default output from pydantic by calling `to_dict()` of each item in tests (list) _items = [] if self.tests: @@ -163,9 +170,10 @@ class CloudAgentDetail(BaseModel): "location": obj.get("location"), "countryId": obj.get("countryId"), "coordinates": Coordinates.from_dict(obj["coordinates"]) if obj.get("coordinates") is not None else None, + "networkProviderInfo": NetworkProviderInfo.from_dict(obj["networkProviderInfo"]) if obj.get("networkProviderInfo") is not None else None, "enabled": obj.get("enabled"), - "prefix": obj.get("prefix"), "verifySslCertificates": obj.get("verifySslCertificates"), + "prefix": obj.get("prefix"), "agentType": obj.get("agentType"), "tests": [SimpleTest.from_dict(_item) for _item in obj["tests"]] if obj.get("tests") is not None else None, "labels": [AgentLabel.from_dict(_item) for _item in obj["labels"]] if obj.get("labels") is not None else None, diff --git a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/enterprise_agent.py b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/enterprise_agent.py index 0856269b..236ace73 100644 --- a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/enterprise_agent.py +++ b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/enterprise_agent.py @@ -27,6 +27,7 @@ from thousandeyes_sdk.agents.models.enterprise_agent_ipv6_policy import Enterpri from thousandeyes_sdk.agents.models.enterprise_agent_state import EnterpriseAgentState from thousandeyes_sdk.agents.models.error_detail import ErrorDetail from thousandeyes_sdk.agents.models.interface_ip_mapping import InterfaceIpMapping +from thousandeyes_sdk.agents.models.network_provider_info import NetworkProviderInfo from thousandeyes_sdk.agents.models.simple_test import SimpleTest from typing import Optional, Set from typing_extensions import Self @@ -44,9 +45,10 @@ class EnterpriseAgent(BaseModel): location: Optional[StrictStr] = Field(default=None, description="Location of the agent.") country_id: Optional[StrictStr] = Field(default=None, description="2-digit ISO country code", alias="countryId") coordinates: Optional[Coordinates] = None + network_provider_info: Optional[NetworkProviderInfo] = Field(default=None, alias="networkProviderInfo") enabled: Optional[StrictBool] = Field(default=None, description="Flag indicating if the agent is enabled.") - prefix: Optional[StrictStr] = Field(default=None, description="Prefix containing agents public IP address.") verify_ssl_certificates: Optional[StrictBool] = Field(default=None, description="Flag indicating if has normal SSL operations or if instead it's set to ignore SSL errors on browserbot-based tests.", alias="verifySslCertificates") + prefix: Optional[StrictStr] = Field(default=None, description="Prefix containing agents public IP address.") test_ids: Optional[List[StrictInt]] = Field(default=None, description="List of test IDs assigned to the agent.", alias="testIds") tests: Optional[List[SimpleTest]] = Field(default=None, description="List of tests. See `/tests` for more information.") cluster_members: Optional[List[ClusterMember]] = Field(default=None, description="If an enterprise agent is clustered, detailed information about each cluster member will be shown as array entries in the clusterMembers field. This field is not shown for Enterprise Agents in standalone mode, or for Cloud Agents.", alias="clusterMembers") @@ -62,7 +64,7 @@ class EnterpriseAgent(BaseModel): target_for_tests: Optional[StrictStr] = Field(default=None, description="Test target IP address.", alias="targetForTests") local_resolution_prefixes: Optional[List[StrictStr]] = Field(default=None, description="To perform rDNS lookups for public IP ranges, this field represents the public IP ranges. The range must be in CIDR notation; for example, 10.1.1.0/24. Maximum of 5 prefixes allowed (Enterprise Agents and Enterprise Agent clusters only).", alias="localResolutionPrefixes") interface_ip_mapping: Optional[List[InterfaceIpMapping]] = Field(default=None, alias="interfaceIpMapping") - __properties: ClassVar[List[str]] = ["agentType", "ipAddresses", "publicIpAddresses", "network", "agentId", "agentName", "location", "countryId", "coordinates", "enabled", "prefix", "verifySslCertificates", "testIds", "tests", "clusterMembers", "utilization", "accountGroups", "ipv6Policy", "errorDetails", "hostname", "lastSeen", "agentState", "keepBrowserCache", "createdDate", "targetForTests", "localResolutionPrefixes", "interfaceIpMapping"] + __properties: ClassVar[List[str]] = ["agentType", "ipAddresses", "publicIpAddresses", "network", "agentId", "agentName", "location", "countryId", "coordinates", "networkProviderInfo", "enabled", "verifySslCertificates", "prefix", "testIds", "tests", "clusterMembers", "utilization", "accountGroups", "ipv6Policy", "errorDetails", "hostname", "lastSeen", "agentState", "keepBrowserCache", "createdDate", "targetForTests", "localResolutionPrefixes", "interfaceIpMapping"] model_config = ConfigDict( populate_by_name=True, @@ -111,6 +113,7 @@ class EnterpriseAgent(BaseModel): * OpenAPI `readOnly` fields are excluded. * OpenAPI `readOnly` fields are excluded. * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. """ excluded_fields: Set[str] = set([ "ip_addresses", @@ -119,8 +122,9 @@ class EnterpriseAgent(BaseModel): "agent_id", "location", "country_id", - "prefix", + "network_provider_info", "verify_ssl_certificates", + "prefix", "test_ids", "cluster_members", "utilization", @@ -139,6 +143,9 @@ class EnterpriseAgent(BaseModel): # override the default output from pydantic by calling `to_dict()` of coordinates if self.coordinates: _dict['coordinates'] = self.coordinates.to_dict() + # override the default output from pydantic by calling `to_dict()` of network_provider_info + if self.network_provider_info: + _dict['networkProviderInfo'] = self.network_provider_info.to_dict() # override the default output from pydantic by calling `to_dict()` of each item in tests (list) _items = [] if self.tests: @@ -195,9 +202,10 @@ class EnterpriseAgent(BaseModel): "location": obj.get("location"), "countryId": obj.get("countryId"), "coordinates": Coordinates.from_dict(obj["coordinates"]) if obj.get("coordinates") is not None else None, + "networkProviderInfo": NetworkProviderInfo.from_dict(obj["networkProviderInfo"]) if obj.get("networkProviderInfo") is not None else None, "enabled": obj.get("enabled"), - "prefix": obj.get("prefix"), "verifySslCertificates": obj.get("verifySslCertificates"), + "prefix": obj.get("prefix"), "testIds": obj.get("testIds"), "tests": [SimpleTest.from_dict(_item) for _item in obj["tests"]] if obj.get("tests") is not None else None, "clusterMembers": [ClusterMember.from_dict(_item) for _item in obj["clusterMembers"]] if obj.get("clusterMembers") is not None else None, diff --git a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/enterprise_agent_cluster_detail.py b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/enterprise_agent_cluster_detail.py index 5892e3f8..5844890b 100644 --- a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/enterprise_agent_cluster_detail.py +++ b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/enterprise_agent_cluster_detail.py @@ -29,6 +29,7 @@ from thousandeyes_sdk.agents.models.enterprise_agent_ipv6_policy import Enterpri from thousandeyes_sdk.agents.models.enterprise_agent_state import EnterpriseAgentState from thousandeyes_sdk.agents.models.error_detail import ErrorDetail from thousandeyes_sdk.agents.models.interface_ip_mapping import InterfaceIpMapping +from thousandeyes_sdk.agents.models.network_provider_info import NetworkProviderInfo from thousandeyes_sdk.agents.models.notification_rules import NotificationRules from thousandeyes_sdk.agents.models.self_links import SelfLinks from thousandeyes_sdk.agents.models.simple_test import SimpleTest @@ -47,9 +48,10 @@ class EnterpriseAgentClusterDetail(BaseModel): location: Optional[StrictStr] = Field(default=None, description="Location of the agent.") country_id: Optional[StrictStr] = Field(default=None, description="2-digit ISO country code", alias="countryId") coordinates: Optional[Coordinates] = None + network_provider_info: Optional[NetworkProviderInfo] = Field(default=None, alias="networkProviderInfo") enabled: Optional[StrictBool] = Field(default=None, description="Flag indicating if the agent is enabled.") - prefix: Optional[StrictStr] = Field(default=None, description="Prefix containing agents public IP address.") verify_ssl_certificates: Optional[StrictBool] = Field(default=None, description="Flag indicating if has normal SSL operations or if instead it's set to ignore SSL errors on browserbot-based tests.", alias="verifySslCertificates") + prefix: Optional[StrictStr] = Field(default=None, description="Prefix containing agents public IP address.") test_ids: Optional[List[StrictInt]] = Field(default=None, description="List of test IDs assigned to the agent.", alias="testIds") tests: Optional[List[SimpleTest]] = Field(default=None, description="List of tests. See `/tests` for more information.") cluster_members: Optional[List[ClusterMember]] = Field(default=None, description="If an enterprise agent is clustered, detailed information about each cluster member will be shown as array entries in the clusterMembers field. This field is not shown for Enterprise Agents in standalone mode, or for Cloud Agents.", alias="clusterMembers") @@ -70,7 +72,7 @@ class EnterpriseAgentClusterDetail(BaseModel): tags: Optional[List[AgentTag]] = Field(default=None, description="List of tags. See `/tags` for more information.") agent_type: Annotated[str, Field(strict=True)] = Field(description="Enterprise Cluster agent type.", alias="agentType") links: Optional[SelfLinks] = Field(default=None, alias="_links") - __properties: ClassVar[List[str]] = ["ipAddresses", "publicIpAddresses", "network", "agentId", "agentName", "location", "countryId", "coordinates", "enabled", "prefix", "verifySslCertificates", "testIds", "tests", "clusterMembers", "utilization", "accountGroups", "ipv6Policy", "errorDetails", "hostname", "lastSeen", "agentState", "keepBrowserCache", "createdDate", "targetForTests", "localResolutionPrefixes", "interfaceIpMapping", "notificationRules", "labels", "tags", "agentType", "_links"] + __properties: ClassVar[List[str]] = ["ipAddresses", "publicIpAddresses", "network", "agentId", "agentName", "location", "countryId", "coordinates", "networkProviderInfo", "enabled", "verifySslCertificates", "prefix", "testIds", "tests", "clusterMembers", "utilization", "accountGroups", "ipv6Policy", "errorDetails", "hostname", "lastSeen", "agentState", "keepBrowserCache", "createdDate", "targetForTests", "localResolutionPrefixes", "interfaceIpMapping", "notificationRules", "labels", "tags", "agentType", "_links"] @field_validator('agent_type') def agent_type_validate_regular_expression(cls, value): @@ -128,6 +130,7 @@ class EnterpriseAgentClusterDetail(BaseModel): * OpenAPI `readOnly` fields are excluded. * OpenAPI `readOnly` fields are excluded. * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. """ excluded_fields: Set[str] = set([ "ip_addresses", @@ -136,8 +139,9 @@ class EnterpriseAgentClusterDetail(BaseModel): "agent_id", "location", "country_id", - "prefix", + "network_provider_info", "verify_ssl_certificates", + "prefix", "test_ids", "cluster_members", "utilization", @@ -158,6 +162,9 @@ class EnterpriseAgentClusterDetail(BaseModel): # override the default output from pydantic by calling `to_dict()` of coordinates if self.coordinates: _dict['coordinates'] = self.coordinates.to_dict() + # override the default output from pydantic by calling `to_dict()` of network_provider_info + if self.network_provider_info: + _dict['networkProviderInfo'] = self.network_provider_info.to_dict() # override the default output from pydantic by calling `to_dict()` of each item in tests (list) _items = [] if self.tests: @@ -237,9 +244,10 @@ class EnterpriseAgentClusterDetail(BaseModel): "location": obj.get("location"), "countryId": obj.get("countryId"), "coordinates": Coordinates.from_dict(obj["coordinates"]) if obj.get("coordinates") is not None else None, + "networkProviderInfo": NetworkProviderInfo.from_dict(obj["networkProviderInfo"]) if obj.get("networkProviderInfo") is not None else None, "enabled": obj.get("enabled"), - "prefix": obj.get("prefix"), "verifySslCertificates": obj.get("verifySslCertificates"), + "prefix": obj.get("prefix"), "testIds": obj.get("testIds"), "tests": [SimpleTest.from_dict(_item) for _item in obj["tests"]] if obj.get("tests") is not None else None, "clusterMembers": [ClusterMember.from_dict(_item) for _item in obj["clusterMembers"]] if obj.get("clusterMembers") is not None else None, diff --git a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/enterprise_agent_detail.py b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/enterprise_agent_detail.py index d6794cdb..71afe213 100644 --- a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/enterprise_agent_detail.py +++ b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/enterprise_agent_detail.py @@ -29,6 +29,7 @@ from thousandeyes_sdk.agents.models.enterprise_agent_ipv6_policy import Enterpri from thousandeyes_sdk.agents.models.enterprise_agent_state import EnterpriseAgentState from thousandeyes_sdk.agents.models.error_detail import ErrorDetail from thousandeyes_sdk.agents.models.interface_ip_mapping import InterfaceIpMapping +from thousandeyes_sdk.agents.models.network_provider_info import NetworkProviderInfo from thousandeyes_sdk.agents.models.notification_rules import NotificationRules from thousandeyes_sdk.agents.models.self_links import SelfLinks from thousandeyes_sdk.agents.models.simple_test import SimpleTest @@ -47,9 +48,10 @@ class EnterpriseAgentDetail(BaseModel): location: Optional[StrictStr] = Field(default=None, description="Location of the agent.") country_id: Optional[StrictStr] = Field(default=None, description="2-digit ISO country code", alias="countryId") coordinates: Optional[Coordinates] = None + network_provider_info: Optional[NetworkProviderInfo] = Field(default=None, alias="networkProviderInfo") enabled: Optional[StrictBool] = Field(default=None, description="Flag indicating if the agent is enabled.") - prefix: Optional[StrictStr] = Field(default=None, description="Prefix containing agents public IP address.") verify_ssl_certificates: Optional[StrictBool] = Field(default=None, description="Flag indicating if has normal SSL operations or if instead it's set to ignore SSL errors on browserbot-based tests.", alias="verifySslCertificates") + prefix: Optional[StrictStr] = Field(default=None, description="Prefix containing agents public IP address.") test_ids: Optional[List[StrictInt]] = Field(default=None, description="List of test IDs assigned to the agent.", alias="testIds") tests: Optional[List[SimpleTest]] = Field(default=None, description="List of tests. See `/tests` for more information.") cluster_members: Optional[List[ClusterMember]] = Field(default=None, description="If an enterprise agent is clustered, detailed information about each cluster member will be shown as array entries in the clusterMembers field. This field is not shown for Enterprise Agents in standalone mode, or for Cloud Agents.", alias="clusterMembers") @@ -70,7 +72,7 @@ class EnterpriseAgentDetail(BaseModel): tags: Optional[List[AgentTag]] = Field(default=None, description="List of tags. See `/tags` for more information.") agent_type: Annotated[str, Field(strict=True)] = Field(description="Enterprise agent type.", alias="agentType") links: Optional[SelfLinks] = Field(default=None, alias="_links") - __properties: ClassVar[List[str]] = ["ipAddresses", "publicIpAddresses", "network", "agentId", "agentName", "location", "countryId", "coordinates", "enabled", "prefix", "verifySslCertificates", "testIds", "tests", "clusterMembers", "utilization", "accountGroups", "ipv6Policy", "errorDetails", "hostname", "lastSeen", "agentState", "keepBrowserCache", "createdDate", "targetForTests", "localResolutionPrefixes", "interfaceIpMapping", "notificationRules", "labels", "tags", "agentType", "_links"] + __properties: ClassVar[List[str]] = ["ipAddresses", "publicIpAddresses", "network", "agentId", "agentName", "location", "countryId", "coordinates", "networkProviderInfo", "enabled", "verifySslCertificates", "prefix", "testIds", "tests", "clusterMembers", "utilization", "accountGroups", "ipv6Policy", "errorDetails", "hostname", "lastSeen", "agentState", "keepBrowserCache", "createdDate", "targetForTests", "localResolutionPrefixes", "interfaceIpMapping", "notificationRules", "labels", "tags", "agentType", "_links"] @field_validator('agent_type') def agent_type_validate_regular_expression(cls, value): @@ -128,6 +130,7 @@ class EnterpriseAgentDetail(BaseModel): * OpenAPI `readOnly` fields are excluded. * OpenAPI `readOnly` fields are excluded. * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. """ excluded_fields: Set[str] = set([ "ip_addresses", @@ -136,8 +139,9 @@ class EnterpriseAgentDetail(BaseModel): "agent_id", "location", "country_id", - "prefix", + "network_provider_info", "verify_ssl_certificates", + "prefix", "test_ids", "cluster_members", "utilization", @@ -158,6 +162,9 @@ class EnterpriseAgentDetail(BaseModel): # override the default output from pydantic by calling `to_dict()` of coordinates if self.coordinates: _dict['coordinates'] = self.coordinates.to_dict() + # override the default output from pydantic by calling `to_dict()` of network_provider_info + if self.network_provider_info: + _dict['networkProviderInfo'] = self.network_provider_info.to_dict() # override the default output from pydantic by calling `to_dict()` of each item in tests (list) _items = [] if self.tests: @@ -237,9 +244,10 @@ class EnterpriseAgentDetail(BaseModel): "location": obj.get("location"), "countryId": obj.get("countryId"), "coordinates": Coordinates.from_dict(obj["coordinates"]) if obj.get("coordinates") is not None else None, + "networkProviderInfo": NetworkProviderInfo.from_dict(obj["networkProviderInfo"]) if obj.get("networkProviderInfo") is not None else None, "enabled": obj.get("enabled"), - "prefix": obj.get("prefix"), "verifySslCertificates": obj.get("verifySslCertificates"), + "prefix": obj.get("prefix"), "testIds": obj.get("testIds"), "tests": [SimpleTest.from_dict(_item) for _item in obj["tests"]] if obj.get("tests") is not None else None, "clusterMembers": [ClusterMember.from_dict(_item) for _item in obj["clusterMembers"]] if obj.get("clusterMembers") is not None else None, diff --git a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/network_provider_info.py b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/network_provider_info.py new file mode 100644 index 00000000..8f178ebc --- /dev/null +++ b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/network_provider_info.py @@ -0,0 +1,96 @@ +# coding: utf-8 + +""" + Agents API + + ## Overview Manage Cloud and Enterprise Agents available to your account in ThousandEyes. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from thousandeyes_sdk.agents.models.network_provider_type import NetworkProviderType +from typing import Optional, Set +from typing_extensions import Self + +class NetworkProviderInfo(BaseModel): + """ + Information about the network provider that owns the agent's public IP prefix. + """ # noqa: E501 + asn: Optional[StrictInt] = Field(default=None, description="Autonomous System Number (ASN) announcing the agent's public IP prefix.") + name: Optional[StrictStr] = Field(default=None, description="Name of the network provider organization.") + type: Optional[NetworkProviderType] = None + __properties: ClassVar[List[str]] = ["asn", "name", "type"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + extra="allow", + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return self.model_dump_json(by_alias=True, exclude_unset=True, exclude_none=True) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of NetworkProviderInfo from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "asn", + "name", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of NetworkProviderInfo from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "asn": obj.get("asn"), + "name": obj.get("name"), + "type": obj.get("type") + }) + return _obj + + diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_agent_widget_show.py b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/network_provider_type.py similarity index 58% rename from thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_agent_widget_show.py rename to thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/network_provider_type.py index 9100810b..6fabea01 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_agent_widget_show.py +++ b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/network_provider_type.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - Dashboards API + Agents API - Manage ThousandEyes Dashboards. + ## Overview Manage Cloud and Enterprise Agents available to your account in ThousandEyes. Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -17,21 +17,24 @@ from enum import Enum from typing_extensions import Self -class ApiAgentWidgetShow(str, Enum): +class NetworkProviderType(str, Enum): """ - Ownership of the agent. + Classification of the agent's network provider. """ """ allowed enum values """ - OWNED = 'owned' - ALL = 'all' UNKNOWN = 'unknown' + ISP = 'isp' + CDN = 'cdn' + STUB = 'stub' + CLOUD_MINUS_PROVIDER = 'cloud-provider' + CARRIER = 'carrier' @classmethod def from_json(cls, json_str: str) -> Self: - """Create an instance of ApiAgentWidgetShow from a JSON string""" + """Create an instance of NetworkProviderType from a JSON string""" return cls(json.loads(json_str)) @classmethod diff --git a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/simple_agent.py b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/simple_agent.py index 393f8069..e48899dc 100644 --- a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/simple_agent.py +++ b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/simple_agent.py @@ -19,6 +19,7 @@ import json from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr from typing import Any, ClassVar, Dict, List, Optional from thousandeyes_sdk.agents.models.coordinates import Coordinates +from thousandeyes_sdk.agents.models.network_provider_info import NetworkProviderInfo from typing import Optional, Set from typing_extensions import Self @@ -34,10 +35,11 @@ class SimpleAgent(BaseModel): location: Optional[StrictStr] = Field(default=None, description="Location of the agent.") country_id: Optional[StrictStr] = Field(default=None, description="2-digit ISO country code", alias="countryId") coordinates: Optional[Coordinates] = None + network_provider_info: Optional[NetworkProviderInfo] = Field(default=None, alias="networkProviderInfo") enabled: Optional[StrictBool] = Field(default=None, description="Flag indicating if the agent is enabled.") - prefix: Optional[StrictStr] = Field(default=None, description="Prefix containing agents public IP address.") verify_ssl_certificates: Optional[StrictBool] = Field(default=None, description="Flag indicating if has normal SSL operations or if instead it's set to ignore SSL errors on browserbot-based tests.", alias="verifySslCertificates") - __properties: ClassVar[List[str]] = ["ipAddresses", "publicIpAddresses", "network", "agentId", "agentName", "location", "countryId", "coordinates", "enabled", "prefix", "verifySslCertificates"] + prefix: Optional[StrictStr] = Field(default=None, description="Prefix containing agents public IP address.") + __properties: ClassVar[List[str]] = ["ipAddresses", "publicIpAddresses", "network", "agentId", "agentName", "location", "countryId", "coordinates", "networkProviderInfo", "enabled", "verifySslCertificates", "prefix"] model_config = ConfigDict( populate_by_name=True, @@ -78,6 +80,7 @@ class SimpleAgent(BaseModel): * OpenAPI `readOnly` fields are excluded. * OpenAPI `readOnly` fields are excluded. * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. """ excluded_fields: Set[str] = set([ "ip_addresses", @@ -86,8 +89,9 @@ class SimpleAgent(BaseModel): "agent_id", "location", "country_id", - "prefix", + "network_provider_info", "verify_ssl_certificates", + "prefix", ]) _dict = self.model_dump( @@ -98,6 +102,9 @@ class SimpleAgent(BaseModel): # override the default output from pydantic by calling `to_dict()` of coordinates if self.coordinates: _dict['coordinates'] = self.coordinates.to_dict() + # override the default output from pydantic by calling `to_dict()` of network_provider_info + if self.network_provider_info: + _dict['networkProviderInfo'] = self.network_provider_info.to_dict() return _dict @classmethod @@ -118,9 +125,10 @@ class SimpleAgent(BaseModel): "location": obj.get("location"), "countryId": obj.get("countryId"), "coordinates": Coordinates.from_dict(obj["coordinates"]) if obj.get("coordinates") is not None else None, + "networkProviderInfo": NetworkProviderInfo.from_dict(obj["networkProviderInfo"]) if obj.get("networkProviderInfo") is not None else None, "enabled": obj.get("enabled"), - "prefix": obj.get("prefix"), - "verifySslCertificates": obj.get("verifySslCertificates") + "verifySslCertificates": obj.get("verifySslCertificates"), + "prefix": obj.get("prefix") }) return _obj diff --git a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/simple_enterprise_agent.py b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/simple_enterprise_agent.py index 7fbe5643..8fcdb11d 100644 --- a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/simple_enterprise_agent.py +++ b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/simple_enterprise_agent.py @@ -26,6 +26,7 @@ from thousandeyes_sdk.agents.models.enterprise_agent_ipv6_policy import Enterpri from thousandeyes_sdk.agents.models.enterprise_agent_state import EnterpriseAgentState from thousandeyes_sdk.agents.models.error_detail import ErrorDetail from thousandeyes_sdk.agents.models.interface_ip_mapping import InterfaceIpMapping +from thousandeyes_sdk.agents.models.network_provider_info import NetworkProviderInfo from thousandeyes_sdk.agents.models.simple_test import SimpleTest from typing import Optional, Set from typing_extensions import Self @@ -42,9 +43,10 @@ class SimpleEnterpriseAgent(BaseModel): location: Optional[StrictStr] = Field(default=None, description="Location of the agent.") country_id: Optional[StrictStr] = Field(default=None, description="2-digit ISO country code", alias="countryId") coordinates: Optional[Coordinates] = None + network_provider_info: Optional[NetworkProviderInfo] = Field(default=None, alias="networkProviderInfo") enabled: Optional[StrictBool] = Field(default=None, description="Flag indicating if the agent is enabled.") - prefix: Optional[StrictStr] = Field(default=None, description="Prefix containing agents public IP address.") verify_ssl_certificates: Optional[StrictBool] = Field(default=None, description="Flag indicating if has normal SSL operations or if instead it's set to ignore SSL errors on browserbot-based tests.", alias="verifySslCertificates") + prefix: Optional[StrictStr] = Field(default=None, description="Prefix containing agents public IP address.") test_ids: Optional[List[StrictInt]] = Field(default=None, description="List of test IDs assigned to the agent.", alias="testIds") tests: Optional[List[SimpleTest]] = Field(default=None, description="List of tests. See `/tests` for more information.") cluster_members: Optional[List[ClusterMember]] = Field(default=None, description="If an enterprise agent is clustered, detailed information about each cluster member will be shown as array entries in the clusterMembers field. This field is not shown for Enterprise Agents in standalone mode, or for Cloud Agents.", alias="clusterMembers") @@ -60,7 +62,7 @@ class SimpleEnterpriseAgent(BaseModel): target_for_tests: Optional[StrictStr] = Field(default=None, description="Test target IP address.", alias="targetForTests") local_resolution_prefixes: Optional[List[StrictStr]] = Field(default=None, description="To perform rDNS lookups for public IP ranges, this field represents the public IP ranges. The range must be in CIDR notation; for example, 10.1.1.0/24. Maximum of 5 prefixes allowed (Enterprise Agents and Enterprise Agent clusters only).", alias="localResolutionPrefixes") interface_ip_mapping: Optional[List[InterfaceIpMapping]] = Field(default=None, alias="interfaceIpMapping") - __properties: ClassVar[List[str]] = ["ipAddresses", "publicIpAddresses", "network", "agentId", "agentName", "location", "countryId", "coordinates", "enabled", "prefix", "verifySslCertificates", "testIds", "tests", "clusterMembers", "utilization", "accountGroups", "ipv6Policy", "errorDetails", "hostname", "lastSeen", "agentState", "keepBrowserCache", "createdDate", "targetForTests", "localResolutionPrefixes", "interfaceIpMapping"] + __properties: ClassVar[List[str]] = ["ipAddresses", "publicIpAddresses", "network", "agentId", "agentName", "location", "countryId", "coordinates", "networkProviderInfo", "enabled", "verifySslCertificates", "prefix", "testIds", "tests", "clusterMembers", "utilization", "accountGroups", "ipv6Policy", "errorDetails", "hostname", "lastSeen", "agentState", "keepBrowserCache", "createdDate", "targetForTests", "localResolutionPrefixes", "interfaceIpMapping"] model_config = ConfigDict( populate_by_name=True, @@ -109,6 +111,7 @@ class SimpleEnterpriseAgent(BaseModel): * OpenAPI `readOnly` fields are excluded. * OpenAPI `readOnly` fields are excluded. * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. """ excluded_fields: Set[str] = set([ "ip_addresses", @@ -117,8 +120,9 @@ class SimpleEnterpriseAgent(BaseModel): "agent_id", "location", "country_id", - "prefix", + "network_provider_info", "verify_ssl_certificates", + "prefix", "test_ids", "cluster_members", "utilization", @@ -137,6 +141,9 @@ class SimpleEnterpriseAgent(BaseModel): # override the default output from pydantic by calling `to_dict()` of coordinates if self.coordinates: _dict['coordinates'] = self.coordinates.to_dict() + # override the default output from pydantic by calling `to_dict()` of network_provider_info + if self.network_provider_info: + _dict['networkProviderInfo'] = self.network_provider_info.to_dict() # override the default output from pydantic by calling `to_dict()` of each item in tests (list) _items = [] if self.tests: @@ -192,9 +199,10 @@ class SimpleEnterpriseAgent(BaseModel): "location": obj.get("location"), "countryId": obj.get("countryId"), "coordinates": Coordinates.from_dict(obj["coordinates"]) if obj.get("coordinates") is not None else None, + "networkProviderInfo": NetworkProviderInfo.from_dict(obj["networkProviderInfo"]) if obj.get("networkProviderInfo") is not None else None, "enabled": obj.get("enabled"), - "prefix": obj.get("prefix"), "verifySslCertificates": obj.get("verifySslCertificates"), + "prefix": obj.get("prefix"), "testIds": obj.get("testIds"), "tests": [SimpleTest.from_dict(_item) for _item in obj["tests"]] if obj.get("tests") is not None else None, "clusterMembers": [ClusterMember.from_dict(_item) for _item in obj["clusterMembers"]] if obj.get("clusterMembers") is not None else None, diff --git a/thousandeyes-sdk-agents/test/test_cloud_and_enterprise_agent_notification_rules_api.py b/thousandeyes-sdk-agents/test/test_cloud_and_enterprise_agent_notification_rules_api.py index 38f00903..db0e6163 100644 --- a/thousandeyes-sdk-agents/test/test_cloud_and_enterprise_agent_notification_rules_api.py +++ b/thousandeyes-sdk-agents/test/test_cloud_and_enterprise_agent_notification_rules_api.py @@ -97,34 +97,36 @@ class TestCloudAndEnterpriseAgentNotificationRulesApi(unittest.TestCase): "agents" : [ { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true }, { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true } ] }""" diff --git a/thousandeyes-sdk-agents/test/test_cloud_and_enterprise_agents_api.py b/thousandeyes-sdk-agents/test/test_cloud_and_enterprise_agents_api.py index 1fa3e7ad..c0b73239 100644 --- a/thousandeyes-sdk-agents/test/test_cloud_and_enterprise_agents_api.py +++ b/thousandeyes-sdk-agents/test/test_cloud_and_enterprise_agents_api.py @@ -57,6 +57,7 @@ class TestCloudAndEnterpriseAgentsApi(unittest.TestCase): "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", @@ -169,34 +170,36 @@ class TestCloudAndEnterpriseAgentsApi(unittest.TestCase): "agents" : [ { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true }, { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true } ] }""" @@ -246,6 +249,7 @@ class TestCloudAndEnterpriseAgentsApi(unittest.TestCase): "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", diff --git a/thousandeyes-sdk-agents/test/test_enterprise_agent_cluster_api.py b/thousandeyes-sdk-agents/test/test_enterprise_agent_cluster_api.py index 7f172812..0977511e 100644 --- a/thousandeyes-sdk-agents/test/test_enterprise_agent_cluster_api.py +++ b/thousandeyes-sdk-agents/test/test_enterprise_agent_cluster_api.py @@ -62,6 +62,7 @@ class TestEnterpriseAgentClusterApi(unittest.TestCase): "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", @@ -183,34 +184,36 @@ class TestEnterpriseAgentClusterApi(unittest.TestCase): "agents" : [ { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true }, { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true } ] }""" diff --git a/thousandeyes-sdk-agents/test/test_tests_assignment_on_agents_api.py b/thousandeyes-sdk-agents/test/test_tests_assignment_on_agents_api.py index b3d0b67e..8aff847f 100644 --- a/thousandeyes-sdk-agents/test/test_tests_assignment_on_agents_api.py +++ b/thousandeyes-sdk-agents/test/test_tests_assignment_on_agents_api.py @@ -62,6 +62,7 @@ class TestTestsAssignmentOnAgentsApi(unittest.TestCase): "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", @@ -188,6 +189,7 @@ class TestTestsAssignmentOnAgentsApi(unittest.TestCase): "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", @@ -314,6 +316,7 @@ class TestTestsAssignmentOnAgentsApi(unittest.TestCase): "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", diff --git a/thousandeyes-sdk-alerts/README.md b/thousandeyes-sdk-alerts/README.md index da32d1a0..707a83e6 100644 --- a/thousandeyes-sdk-alerts/README.md +++ b/thousandeyes-sdk-alerts/README.md @@ -14,7 +14,7 @@ For more information about the alerts, see [Alerts](https://docs.thousandeyes.co This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: -- API version: 7.0.84 +- API version: 7.0.88 - Generator version: 7.6.0 - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator diff --git a/thousandeyes-sdk-bgp-monitors/README.md b/thousandeyes-sdk-bgp-monitors/README.md index 1b0f29bc..26ebde25 100644 --- a/thousandeyes-sdk-bgp-monitors/README.md +++ b/thousandeyes-sdk-bgp-monitors/README.md @@ -10,7 +10,7 @@ For more information about monitors, see [Inside-Out BGP Visibility](https://doc This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: -- API version: 7.0.84 +- API version: 7.0.88 - Generator version: 7.6.0 - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator diff --git a/thousandeyes-sdk-connectors/.openapi-generator/FILES b/thousandeyes-sdk-connectors/.openapi-generator/FILES index cc4969b3..21439952 100644 --- a/thousandeyes-sdk-connectors/.openapi-generator/FILES +++ b/thousandeyes-sdk-connectors/.openapi-generator/FILES @@ -5,7 +5,15 @@ docs/Assignments.md docs/AuthenticationType.md docs/BasicAuthentication.md docs/BearerTokenAuthentication.md +docs/ConjurConnector.md +docs/ConjurConnectors.md +docs/ConjurHostAuthentication.md docs/ConnectorType.md +docs/CredentialVaultOperation.md +docs/CredentialVaultOperations.md +docs/CredentialVaultOperationsApi.md +docs/CredentialVaultSecret.md +docs/CyberArkConjurConnectorsApi.md docs/Error.md docs/GenericConnector.md docs/GenericConnectorAuth.md @@ -31,6 +39,8 @@ pyproject.toml setup.cfg src/thousandeyes_sdk/connectors/__init__.py src/thousandeyes_sdk/connectors/api/__init__.py +src/thousandeyes_sdk/connectors/api/credential_vault_operations_api.py +src/thousandeyes_sdk/connectors/api/cyber_ark_conjur_connectors_api.py src/thousandeyes_sdk/connectors/api/generic_connectors_api.py src/thousandeyes_sdk/connectors/api/operation_connectors_api.py src/thousandeyes_sdk/connectors/api/webhook_operations_api.py @@ -39,7 +49,13 @@ src/thousandeyes_sdk/connectors/models/assignments.py src/thousandeyes_sdk/connectors/models/authentication_type.py src/thousandeyes_sdk/connectors/models/basic_authentication.py src/thousandeyes_sdk/connectors/models/bearer_token_authentication.py +src/thousandeyes_sdk/connectors/models/conjur_connector.py +src/thousandeyes_sdk/connectors/models/conjur_connectors.py +src/thousandeyes_sdk/connectors/models/conjur_host_authentication.py src/thousandeyes_sdk/connectors/models/connector_type.py +src/thousandeyes_sdk/connectors/models/credential_vault_operation.py +src/thousandeyes_sdk/connectors/models/credential_vault_operations.py +src/thousandeyes_sdk/connectors/models/credential_vault_secret.py src/thousandeyes_sdk/connectors/models/error.py src/thousandeyes_sdk/connectors/models/generic_connector.py src/thousandeyes_sdk/connectors/models/generic_connector_auth.py @@ -60,6 +76,8 @@ src/thousandeyes_sdk/connectors/models/webhook_operation.py src/thousandeyes_sdk/connectors/models/webhook_operations.py src/thousandeyes_sdk/connectors/py.typed test/__init__.py +test/test_credential_vault_operations_api.py +test/test_cyber_ark_conjur_connectors_api.py test/test_generic_connectors_api.py test/test_operation_connectors_api.py test/test_utils.py diff --git a/thousandeyes-sdk-connectors/README.md b/thousandeyes-sdk-connectors/README.md index 30a05404..7d3db1c7 100644 --- a/thousandeyes-sdk-connectors/README.md +++ b/thousandeyes-sdk-connectors/README.md @@ -6,7 +6,7 @@ Manage connectors and operations. This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: -- API version: 7.0.84 +- API version: 7.0.88 - Generator version: 7.6.0 - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator @@ -78,17 +78,17 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.core.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.connectors.GenericConnectorsApi(api_client) - generic_connector = thousandeyes_sdk.connectors.GenericConnector() # GenericConnector | + api_instance = thousandeyes_sdk.connectors.CredentialVaultOperationsApi(api_client) + credential_vault_operation = thousandeyes_sdk.connectors.CredentialVaultOperation() # CredentialVaultOperation | aid = '1234' # str | A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. (optional) try: - # Create connector - api_response = api_instance.create_generic_connector(generic_connector, aid=aid) - print("The response of GenericConnectorsApi->create_generic_connector:\n") + # Create Credential Vault operation + api_response = api_instance.create_credential_vault_operation(credential_vault_operation, aid=aid) + print("The response of CredentialVaultOperationsApi->create_credential_vault_operation:\n") pprint(api_response) except ApiException as e: - print("Exception when calling GenericConnectorsApi->create_generic_connector: %s\n" % e) + print("Exception when calling CredentialVaultOperationsApi->create_credential_vault_operation: %s\n" % e) ``` @@ -98,11 +98,23 @@ All URIs are relative to *https://api.thousandeyes.com/v7* Class | Method | HTTP request | Description ------------ | ------------- | ------------- | ------------- +*CredentialVaultOperationsApi* | [**create_credential_vault_operation**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-connectors/docs/CredentialVaultOperationsApi.md#create_credential_vault_operation) | **POST** /operations/credential-vault | Create Credential Vault operation +*CredentialVaultOperationsApi* | [**delete_credential_vault_operation**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-connectors/docs/CredentialVaultOperationsApi.md#delete_credential_vault_operation) | **DELETE** /operations/credential-vault/{id} | Delete Credential Vault operation +*CredentialVaultOperationsApi* | [**get_credential_vault_operation**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-connectors/docs/CredentialVaultOperationsApi.md#get_credential_vault_operation) | **GET** /operations/credential-vault/{id} | Get Credential Vault operation +*CredentialVaultOperationsApi* | [**get_credential_vault_operations**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-connectors/docs/CredentialVaultOperationsApi.md#get_credential_vault_operations) | **GET** /operations/credential-vault | List Credential Vault operations +*CredentialVaultOperationsApi* | [**update_credential_vault_operation**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-connectors/docs/CredentialVaultOperationsApi.md#update_credential_vault_operation) | **PUT** /operations/credential-vault/{id} | Update Credential Vault operation +*CyberArkConjurConnectorsApi* | [**create_conjur_connector**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-connectors/docs/CyberArkConjurConnectorsApi.md#create_conjur_connector) | **POST** /connectors/conjur | Create Conjur connector +*CyberArkConjurConnectorsApi* | [**delete_conjur_connector**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-connectors/docs/CyberArkConjurConnectorsApi.md#delete_conjur_connector) | **DELETE** /connectors/conjur/{id} | Delete a Conjur connector +*CyberArkConjurConnectorsApi* | [**get_conjur_connector**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-connectors/docs/CyberArkConjurConnectorsApi.md#get_conjur_connector) | **GET** /connectors/conjur/{id} | Retrieve a Conjur connector +*CyberArkConjurConnectorsApi* | [**get_conjur_connector_operations**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-connectors/docs/CyberArkConjurConnectorsApi.md#get_conjur_connector_operations) | **GET** /connectors/conjur/{id}/operations | List operation IDs for a Conjur connector +*CyberArkConjurConnectorsApi* | [**get_conjur_connectors**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-connectors/docs/CyberArkConjurConnectorsApi.md#get_conjur_connectors) | **GET** /connectors/conjur | List Conjur connectors +*CyberArkConjurConnectorsApi* | [**set_conjur_connector_operations**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-connectors/docs/CyberArkConjurConnectorsApi.md#set_conjur_connector_operations) | **PUT** /connectors/conjur/{id}/operations | Assign operations to a Conjur connector +*CyberArkConjurConnectorsApi* | [**update_conjur_connector**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-connectors/docs/CyberArkConjurConnectorsApi.md#update_conjur_connector) | **PUT** /connectors/conjur/{id} | Update a Conjur connector *GenericConnectorsApi* | [**create_generic_connector**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-connectors/docs/GenericConnectorsApi.md#create_generic_connector) | **POST** /connectors/generic | Create connector *GenericConnectorsApi* | [**delete_generic_connector**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-connectors/docs/GenericConnectorsApi.md#delete_generic_connector) | **DELETE** /connectors/generic/{id} | Delete connector *GenericConnectorsApi* | [**get_generic_connector**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-connectors/docs/GenericConnectorsApi.md#get_generic_connector) | **GET** /connectors/generic/{id} | Retrieve connector *GenericConnectorsApi* | [**get_generic_connectors**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-connectors/docs/GenericConnectorsApi.md#get_generic_connectors) | **GET** /connectors/generic | List connectors -*GenericConnectorsApi* | [**list_generic_connector_operations**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-connectors/docs/GenericConnectorsApi.md#list_generic_connector_operations) | **GET** /connectors/generic/{id}/operations | List operation IDs assigned to a connector +*GenericConnectorsApi* | [**list_generic_connector_operations**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-connectors/docs/GenericConnectorsApi.md#list_generic_connector_operations) | **GET** /connectors/generic/{id}/operations | List operation IDs for a connector *GenericConnectorsApi* | [**set_generic_connector_operations**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-connectors/docs/GenericConnectorsApi.md#set_generic_connector_operations) | **PUT** /connectors/generic/{id}/operations | Assign operations to a connector *GenericConnectorsApi* | [**update_generic_connector**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-connectors/docs/GenericConnectorsApi.md#update_generic_connector) | **PUT** /connectors/generic/{id} | Update connector *OperationConnectorsApi* | [**get_operation_connectors**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-connectors/docs/OperationConnectorsApi.md#get_operation_connectors) | **GET** /operations/{type}/{id}/connectors | Retrieve connectors assigned to an operation @@ -120,7 +132,13 @@ Class | Method | HTTP request | Description - [AuthenticationType](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-connectors/docs/AuthenticationType.md) - [BasicAuthentication](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-connectors/docs/BasicAuthentication.md) - [BearerTokenAuthentication](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-connectors/docs/BearerTokenAuthentication.md) + - [ConjurConnector](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-connectors/docs/ConjurConnector.md) + - [ConjurConnectors](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-connectors/docs/ConjurConnectors.md) + - [ConjurHostAuthentication](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-connectors/docs/ConjurHostAuthentication.md) - [ConnectorType](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-connectors/docs/ConnectorType.md) + - [CredentialVaultOperation](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-connectors/docs/CredentialVaultOperation.md) + - [CredentialVaultOperations](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-connectors/docs/CredentialVaultOperations.md) + - [CredentialVaultSecret](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-connectors/docs/CredentialVaultSecret.md) - [Error](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-connectors/docs/Error.md) - [GenericConnector](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-connectors/docs/GenericConnector.md) - [GenericConnectorAuth](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-connectors/docs/GenericConnectorAuth.md) diff --git a/thousandeyes-sdk-connectors/docs/ConjurConnector.md b/thousandeyes-sdk-connectors/docs/ConjurConnector.md new file mode 100644 index 00000000..8679b98e --- /dev/null +++ b/thousandeyes-sdk-connectors/docs/ConjurConnector.md @@ -0,0 +1,36 @@ +# ConjurConnector + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | | [optional] [readonly] +**type** | [**ConnectorType**](ConnectorType.md) | | +**name** | **str** | | +**target** | **str** | | +**last_modified_date** | **int** | The date when the connector was last modified (Unix timestamp in milliseconds). | [optional] [readonly] +**account** | **str** | | +**authentication** | [**ConjurHostAuthentication**](ConjurHostAuthentication.md) | | +**links** | [**SelfLinks**](SelfLinks.md) | | [optional] + +## Example + +```python +from thousandeyes_sdk.connectors.models.conjur_connector import ConjurConnector + +# TODO update the JSON string below +json = "{}" +# create an instance of ConjurConnector from a JSON string +conjur_connector_instance = ConjurConnector.from_json(json) +# print the JSON string representation of the object +print(ConjurConnector.to_json()) + +# convert the object into a dict +conjur_connector_dict = conjur_connector_instance.to_dict() +# create an instance of ConjurConnector from a dict +conjur_connector_from_dict = ConjurConnector.from_dict(conjur_connector_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/thousandeyes-sdk-connectors/docs/ConjurConnectors.md b/thousandeyes-sdk-connectors/docs/ConjurConnectors.md new file mode 100644 index 00000000..7e2360c0 --- /dev/null +++ b/thousandeyes-sdk-connectors/docs/ConjurConnectors.md @@ -0,0 +1,30 @@ +# ConjurConnectors + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**items** | [**List[ConjurConnector]**](ConjurConnector.md) | | [optional] +**links** | [**SelfLinks**](SelfLinks.md) | | [optional] + +## Example + +```python +from thousandeyes_sdk.connectors.models.conjur_connectors import ConjurConnectors + +# TODO update the JSON string below +json = "{}" +# create an instance of ConjurConnectors from a JSON string +conjur_connectors_instance = ConjurConnectors.from_json(json) +# print the JSON string representation of the object +print(ConjurConnectors.to_json()) + +# convert the object into a dict +conjur_connectors_dict = conjur_connectors_instance.to_dict() +# create an instance of ConjurConnectors from a dict +conjur_connectors_from_dict = ConjurConnectors.from_dict(conjur_connectors_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/thousandeyes-sdk-connectors/docs/ConjurHostAuthentication.md b/thousandeyes-sdk-connectors/docs/ConjurHostAuthentication.md new file mode 100644 index 00000000..e179344a --- /dev/null +++ b/thousandeyes-sdk-connectors/docs/ConjurHostAuthentication.md @@ -0,0 +1,31 @@ +# ConjurHostAuthentication + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**host_id** | **str** | | +**api_key** | **str** | | +**type** | [**AuthenticationType**](AuthenticationType.md) | | + +## Example + +```python +from thousandeyes_sdk.connectors.models.conjur_host_authentication import ConjurHostAuthentication + +# TODO update the JSON string below +json = "{}" +# create an instance of ConjurHostAuthentication from a JSON string +conjur_host_authentication_instance = ConjurHostAuthentication.from_json(json) +# print the JSON string representation of the object +print(ConjurHostAuthentication.to_json()) + +# convert the object into a dict +conjur_host_authentication_dict = conjur_host_authentication_instance.to_dict() +# create an instance of ConjurHostAuthentication from a dict +conjur_host_authentication_from_dict = ConjurHostAuthentication.from_dict(conjur_host_authentication_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/thousandeyes-sdk-connectors/docs/CredentialVaultOperation.md b/thousandeyes-sdk-connectors/docs/CredentialVaultOperation.md new file mode 100644 index 00000000..54ad9ae9 --- /dev/null +++ b/thousandeyes-sdk-connectors/docs/CredentialVaultOperation.md @@ -0,0 +1,34 @@ +# CredentialVaultOperation + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | | [optional] [readonly] +**name** | **str** | | +**secrets** | [**List[CredentialVaultSecret]**](CredentialVaultSecret.md) | | +**type** | [**OperationType**](OperationType.md) | | [optional] +**status** | [**OperationStatus**](OperationStatus.md) | | [optional] +**links** | [**SelfLinks**](SelfLinks.md) | | [optional] + +## Example + +```python +from thousandeyes_sdk.connectors.models.credential_vault_operation import CredentialVaultOperation + +# TODO update the JSON string below +json = "{}" +# create an instance of CredentialVaultOperation from a JSON string +credential_vault_operation_instance = CredentialVaultOperation.from_json(json) +# print the JSON string representation of the object +print(CredentialVaultOperation.to_json()) + +# convert the object into a dict +credential_vault_operation_dict = credential_vault_operation_instance.to_dict() +# create an instance of CredentialVaultOperation from a dict +credential_vault_operation_from_dict = CredentialVaultOperation.from_dict(credential_vault_operation_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/thousandeyes-sdk-connectors/docs/CredentialVaultOperations.md b/thousandeyes-sdk-connectors/docs/CredentialVaultOperations.md new file mode 100644 index 00000000..66d200c4 --- /dev/null +++ b/thousandeyes-sdk-connectors/docs/CredentialVaultOperations.md @@ -0,0 +1,30 @@ +# CredentialVaultOperations + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**items** | [**List[CredentialVaultOperation]**](CredentialVaultOperation.md) | | [optional] +**links** | [**SelfLinks**](SelfLinks.md) | | [optional] + +## Example + +```python +from thousandeyes_sdk.connectors.models.credential_vault_operations import CredentialVaultOperations + +# TODO update the JSON string below +json = "{}" +# create an instance of CredentialVaultOperations from a JSON string +credential_vault_operations_instance = CredentialVaultOperations.from_json(json) +# print the JSON string representation of the object +print(CredentialVaultOperations.to_json()) + +# convert the object into a dict +credential_vault_operations_dict = credential_vault_operations_instance.to_dict() +# create an instance of CredentialVaultOperations from a dict +credential_vault_operations_from_dict = CredentialVaultOperations.from_dict(credential_vault_operations_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/thousandeyes-sdk-connectors/docs/CredentialVaultOperationsApi.md b/thousandeyes-sdk-connectors/docs/CredentialVaultOperationsApi.md new file mode 100644 index 00000000..23d3c176 --- /dev/null +++ b/thousandeyes-sdk-connectors/docs/CredentialVaultOperationsApi.md @@ -0,0 +1,437 @@ +# thousandeyes_sdk.connectors.CredentialVaultOperationsApi + +All URIs are relative to *https://api.thousandeyes.com/v7* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**create_credential_vault_operation**](CredentialVaultOperationsApi.md#create_credential_vault_operation) | **POST** /operations/credential-vault | Create Credential Vault operation +[**delete_credential_vault_operation**](CredentialVaultOperationsApi.md#delete_credential_vault_operation) | **DELETE** /operations/credential-vault/{id} | Delete Credential Vault operation +[**get_credential_vault_operation**](CredentialVaultOperationsApi.md#get_credential_vault_operation) | **GET** /operations/credential-vault/{id} | Get Credential Vault operation +[**get_credential_vault_operations**](CredentialVaultOperationsApi.md#get_credential_vault_operations) | **GET** /operations/credential-vault | List Credential Vault operations +[**update_credential_vault_operation**](CredentialVaultOperationsApi.md#update_credential_vault_operation) | **PUT** /operations/credential-vault/{id} | Update Credential Vault operation + + +# **create_credential_vault_operation** +> CredentialVaultOperation create_credential_vault_operation(credential_vault_operation, aid=aid) + +Create Credential Vault operation + +Create a new Credential Vault operation. + +### Example + +* Bearer Authentication (BearerAuth): + +```python +import thousandeyes_sdk.connectors +from thousandeyes_sdk.connectors.models.credential_vault_operation import CredentialVaultOperation +from thousandeyes_sdk.connectors.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.thousandeyes.com/v7 +# See configuration.py for a list of all supported configuration parameters. +configuration = thousandeyes_sdk.core.Configuration( + host = "https://api.thousandeyes.com/v7" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure Bearer authorization: BearerAuth +configuration = thousandeyes_sdk.core.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with thousandeyes_sdk.core.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = thousandeyes_sdk.connectors.CredentialVaultOperationsApi(api_client) + credential_vault_operation = thousandeyes_sdk.connectors.CredentialVaultOperation() # CredentialVaultOperation | + aid = '1234' # str | A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. (optional) + + try: + # Create Credential Vault operation + api_response = api_instance.create_credential_vault_operation(credential_vault_operation, aid=aid) + print("The response of CredentialVaultOperationsApi->create_credential_vault_operation:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling CredentialVaultOperationsApi->create_credential_vault_operation: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **credential_vault_operation** | [**CredentialVaultOperation**](CredentialVaultOperation.md)| | + **aid** | **str**| A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. | [optional] + +### Return type + +[**CredentialVaultOperation**](CredentialVaultOperation.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/hal+json, application/json, application/problem+json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**201** | The created Credential Vault operation. | - | +**400** | Bad Request | - | +**401** | Unauthorized | - | +**403** | Insufficient permissions to query endpoint | - | +**404** | Not found | - | +**500** | Internal server error | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **delete_credential_vault_operation** +> delete_credential_vault_operation(id, confirm_disabled_objects, aid=aid) + +Delete Credential Vault operation + +Delete a single Credential Vault operation by its ID. Note: This operation may disable affected objects (such as tests). + +### Example + +* Bearer Authentication (BearerAuth): + +```python +import thousandeyes_sdk.connectors +from thousandeyes_sdk.connectors.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.thousandeyes.com/v7 +# See configuration.py for a list of all supported configuration parameters. +configuration = thousandeyes_sdk.core.Configuration( + host = "https://api.thousandeyes.com/v7" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure Bearer authorization: BearerAuth +configuration = thousandeyes_sdk.core.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with thousandeyes_sdk.core.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = thousandeyes_sdk.connectors.CredentialVaultOperationsApi(api_client) + id = 'cb1b8033-ea2d-4e9b-a920-fe87850693cf' # str | The operation ID. + confirm_disabled_objects = False # bool | Confirmation to disable affected objects (for example, tests) for credential-vault operations. (default to False) + aid = '1234' # str | A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. (optional) + + try: + # Delete Credential Vault operation + api_instance.delete_credential_vault_operation(id, confirm_disabled_objects, aid=aid) + except Exception as e: + print("Exception when calling CredentialVaultOperationsApi->delete_credential_vault_operation: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| The operation ID. | + **confirm_disabled_objects** | **bool**| Confirmation to disable affected objects (for example, tests) for credential-vault operations. | [default to False] + **aid** | **str**| A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. | [optional] + +### Return type + +void (empty response body) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json, application/problem+json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**204** | No Content. | - | +**400** | Bad Request | - | +**401** | Unauthorized | - | +**403** | Insufficient permissions to query endpoint | - | +**404** | Not found | - | +**500** | Internal server error | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_credential_vault_operation** +> CredentialVaultOperation get_credential_vault_operation(id, aid=aid) + +Get Credential Vault operation + +Retrieve a single Credential Vault operation by its ID. + +### Example + +* Bearer Authentication (BearerAuth): + +```python +import thousandeyes_sdk.connectors +from thousandeyes_sdk.connectors.models.credential_vault_operation import CredentialVaultOperation +from thousandeyes_sdk.connectors.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.thousandeyes.com/v7 +# See configuration.py for a list of all supported configuration parameters. +configuration = thousandeyes_sdk.core.Configuration( + host = "https://api.thousandeyes.com/v7" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure Bearer authorization: BearerAuth +configuration = thousandeyes_sdk.core.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with thousandeyes_sdk.core.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = thousandeyes_sdk.connectors.CredentialVaultOperationsApi(api_client) + id = 'cb1b8033-ea2d-4e9b-a920-fe87850693cf' # str | The operation ID. + aid = '1234' # str | A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. (optional) + + try: + # Get Credential Vault operation + api_response = api_instance.get_credential_vault_operation(id, aid=aid) + print("The response of CredentialVaultOperationsApi->get_credential_vault_operation:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling CredentialVaultOperationsApi->get_credential_vault_operation: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| The operation ID. | + **aid** | **str**| A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. | [optional] + +### Return type + +[**CredentialVaultOperation**](CredentialVaultOperation.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/hal+json, application/json, application/problem+json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | Credential Vault operation details. | - | +**400** | Bad Request | - | +**401** | Unauthorized | - | +**403** | Insufficient permissions to query endpoint | - | +**404** | Not found | - | +**500** | Internal server error | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_credential_vault_operations** +> CredentialVaultOperations get_credential_vault_operations(aid=aid) + +List Credential Vault operations + +Returns a list of Credential Vault operations in the specified account group. If no account group is specified, the user's default account group is used. + +### Example + +* Bearer Authentication (BearerAuth): + +```python +import thousandeyes_sdk.connectors +from thousandeyes_sdk.connectors.models.credential_vault_operations import CredentialVaultOperations +from thousandeyes_sdk.connectors.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.thousandeyes.com/v7 +# See configuration.py for a list of all supported configuration parameters. +configuration = thousandeyes_sdk.core.Configuration( + host = "https://api.thousandeyes.com/v7" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure Bearer authorization: BearerAuth +configuration = thousandeyes_sdk.core.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with thousandeyes_sdk.core.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = thousandeyes_sdk.connectors.CredentialVaultOperationsApi(api_client) + aid = '1234' # str | A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. (optional) + + try: + # List Credential Vault operations + api_response = api_instance.get_credential_vault_operations(aid=aid) + print("The response of CredentialVaultOperationsApi->get_credential_vault_operations:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling CredentialVaultOperationsApi->get_credential_vault_operations: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **aid** | **str**| A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. | [optional] + +### Return type + +[**CredentialVaultOperations**](CredentialVaultOperations.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/hal+json, application/json, application/problem+json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A list of Credential Vault operations. | - | +**400** | Bad Request | - | +**401** | Unauthorized | - | +**403** | Insufficient permissions to query endpoint | - | +**404** | Not found | - | +**500** | Internal server error | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **update_credential_vault_operation** +> CredentialVaultOperation update_credential_vault_operation(id, credential_vault_operation, aid=aid) + +Update Credential Vault operation + +Update a single existing Credential Vault operation. + +### Example + +* Bearer Authentication (BearerAuth): + +```python +import thousandeyes_sdk.connectors +from thousandeyes_sdk.connectors.models.credential_vault_operation import CredentialVaultOperation +from thousandeyes_sdk.connectors.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.thousandeyes.com/v7 +# See configuration.py for a list of all supported configuration parameters. +configuration = thousandeyes_sdk.core.Configuration( + host = "https://api.thousandeyes.com/v7" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure Bearer authorization: BearerAuth +configuration = thousandeyes_sdk.core.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with thousandeyes_sdk.core.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = thousandeyes_sdk.connectors.CredentialVaultOperationsApi(api_client) + id = 'cb1b8033-ea2d-4e9b-a920-fe87850693cf' # str | The operation ID. + credential_vault_operation = thousandeyes_sdk.connectors.CredentialVaultOperation() # CredentialVaultOperation | + aid = '1234' # str | A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. (optional) + + try: + # Update Credential Vault operation + api_response = api_instance.update_credential_vault_operation(id, credential_vault_operation, aid=aid) + print("The response of CredentialVaultOperationsApi->update_credential_vault_operation:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling CredentialVaultOperationsApi->update_credential_vault_operation: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| The operation ID. | + **credential_vault_operation** | [**CredentialVaultOperation**](CredentialVaultOperation.md)| | + **aid** | **str**| A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. | [optional] + +### Return type + +[**CredentialVaultOperation**](CredentialVaultOperation.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/hal+json, application/json, application/problem+json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | The updated Credential Vault operation. | - | +**400** | Bad Request | - | +**401** | Unauthorized | - | +**403** | Insufficient permissions to query endpoint | - | +**404** | Not found | - | +**500** | Internal server error | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/thousandeyes-sdk-connectors/docs/CredentialVaultSecret.md b/thousandeyes-sdk-connectors/docs/CredentialVaultSecret.md new file mode 100644 index 00000000..7b00fee1 --- /dev/null +++ b/thousandeyes-sdk-connectors/docs/CredentialVaultSecret.md @@ -0,0 +1,31 @@ +# CredentialVaultSecret + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | | [optional] +**name** | **str** | | +**secret_key** | **str** | | + +## Example + +```python +from thousandeyes_sdk.connectors.models.credential_vault_secret import CredentialVaultSecret + +# TODO update the JSON string below +json = "{}" +# create an instance of CredentialVaultSecret from a JSON string +credential_vault_secret_instance = CredentialVaultSecret.from_json(json) +# print the JSON string representation of the object +print(CredentialVaultSecret.to_json()) + +# convert the object into a dict +credential_vault_secret_dict = credential_vault_secret_instance.to_dict() +# create an instance of CredentialVaultSecret from a dict +credential_vault_secret_from_dict = CredentialVaultSecret.from_dict(credential_vault_secret_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/thousandeyes-sdk-connectors/docs/CyberArkConjurConnectorsApi.md b/thousandeyes-sdk-connectors/docs/CyberArkConjurConnectorsApi.md new file mode 100644 index 00000000..73947579 --- /dev/null +++ b/thousandeyes-sdk-connectors/docs/CyberArkConjurConnectorsApi.md @@ -0,0 +1,613 @@ +# thousandeyes_sdk.connectors.CyberArkConjurConnectorsApi + +All URIs are relative to *https://api.thousandeyes.com/v7* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**create_conjur_connector**](CyberArkConjurConnectorsApi.md#create_conjur_connector) | **POST** /connectors/conjur | Create Conjur connector +[**delete_conjur_connector**](CyberArkConjurConnectorsApi.md#delete_conjur_connector) | **DELETE** /connectors/conjur/{id} | Delete a Conjur connector +[**get_conjur_connector**](CyberArkConjurConnectorsApi.md#get_conjur_connector) | **GET** /connectors/conjur/{id} | Retrieve a Conjur connector +[**get_conjur_connector_operations**](CyberArkConjurConnectorsApi.md#get_conjur_connector_operations) | **GET** /connectors/conjur/{id}/operations | List operation IDs for a Conjur connector +[**get_conjur_connectors**](CyberArkConjurConnectorsApi.md#get_conjur_connectors) | **GET** /connectors/conjur | List Conjur connectors +[**set_conjur_connector_operations**](CyberArkConjurConnectorsApi.md#set_conjur_connector_operations) | **PUT** /connectors/conjur/{id}/operations | Assign operations to a Conjur connector +[**update_conjur_connector**](CyberArkConjurConnectorsApi.md#update_conjur_connector) | **PUT** /connectors/conjur/{id} | Update a Conjur connector + + +# **create_conjur_connector** +> ConjurConnector create_conjur_connector(conjur_connector, aid=aid) + +Create Conjur connector + +Creates a new CyberArk Conjur connector. + +### Example + +* Bearer Authentication (BearerAuth): + +```python +import thousandeyes_sdk.connectors +from thousandeyes_sdk.connectors.models.conjur_connector import ConjurConnector +from thousandeyes_sdk.connectors.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.thousandeyes.com/v7 +# See configuration.py for a list of all supported configuration parameters. +configuration = thousandeyes_sdk.core.Configuration( + host = "https://api.thousandeyes.com/v7" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure Bearer authorization: BearerAuth +configuration = thousandeyes_sdk.core.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with thousandeyes_sdk.core.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = thousandeyes_sdk.connectors.CyberArkConjurConnectorsApi(api_client) + conjur_connector = thousandeyes_sdk.connectors.ConjurConnector() # ConjurConnector | + aid = '1234' # str | A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. (optional) + + try: + # Create Conjur connector + api_response = api_instance.create_conjur_connector(conjur_connector, aid=aid) + print("The response of CyberArkConjurConnectorsApi->create_conjur_connector:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling CyberArkConjurConnectorsApi->create_conjur_connector: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **conjur_connector** | [**ConjurConnector**](ConjurConnector.md)| | + **aid** | **str**| A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. | [optional] + +### Return type + +[**ConjurConnector**](ConjurConnector.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/hal+json, application/json, application/problem+json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**201** | The created Conjur connector. | - | +**400** | Bad Request | - | +**401** | Unauthorized | - | +**403** | Insufficient permissions to query endpoint | - | +**404** | Not found | - | +**500** | Internal server error | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **delete_conjur_connector** +> delete_conjur_connector(id, confirm_disabled_objects, aid=aid) + +Delete a Conjur connector + +Deleted the CyberArk Conjur connector specified by ID. Note: This operation may disable affected objects (such as tests). + +### Example + +* Bearer Authentication (BearerAuth): + +```python +import thousandeyes_sdk.connectors +from thousandeyes_sdk.connectors.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.thousandeyes.com/v7 +# See configuration.py for a list of all supported configuration parameters. +configuration = thousandeyes_sdk.core.Configuration( + host = "https://api.thousandeyes.com/v7" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure Bearer authorization: BearerAuth +configuration = thousandeyes_sdk.core.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with thousandeyes_sdk.core.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = thousandeyes_sdk.connectors.CyberArkConjurConnectorsApi(api_client) + id = 'cb1b8033-ea2d-4e9b-a920-fe87850693cf' # str | The connector ID. + confirm_disabled_objects = False # bool | Confirmation to disable affected objects (for example, tests) for Conjur connectors. (default to False) + aid = '1234' # str | A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. (optional) + + try: + # Delete a Conjur connector + api_instance.delete_conjur_connector(id, confirm_disabled_objects, aid=aid) + except Exception as e: + print("Exception when calling CyberArkConjurConnectorsApi->delete_conjur_connector: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| The connector ID. | + **confirm_disabled_objects** | **bool**| Confirmation to disable affected objects (for example, tests) for Conjur connectors. | [default to False] + **aid** | **str**| A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. | [optional] + +### Return type + +void (empty response body) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json, application/problem+json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**204** | No Content. | - | +**400** | Bad Request | - | +**401** | Unauthorized | - | +**403** | Insufficient permissions to query endpoint | - | +**404** | Not found | - | +**500** | Internal server error | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_conjur_connector** +> ConjurConnector get_conjur_connector(id, aid=aid) + +Retrieve a Conjur connector + +Retrieves details of a CyberArk Conjur connector by its ID. + +### Example + +* Bearer Authentication (BearerAuth): + +```python +import thousandeyes_sdk.connectors +from thousandeyes_sdk.connectors.models.conjur_connector import ConjurConnector +from thousandeyes_sdk.connectors.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.thousandeyes.com/v7 +# See configuration.py for a list of all supported configuration parameters. +configuration = thousandeyes_sdk.core.Configuration( + host = "https://api.thousandeyes.com/v7" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure Bearer authorization: BearerAuth +configuration = thousandeyes_sdk.core.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with thousandeyes_sdk.core.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = thousandeyes_sdk.connectors.CyberArkConjurConnectorsApi(api_client) + id = 'cb1b8033-ea2d-4e9b-a920-fe87850693cf' # str | The connector ID. + aid = '1234' # str | A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. (optional) + + try: + # Retrieve a Conjur connector + api_response = api_instance.get_conjur_connector(id, aid=aid) + print("The response of CyberArkConjurConnectorsApi->get_conjur_connector:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling CyberArkConjurConnectorsApi->get_conjur_connector: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| The connector ID. | + **aid** | **str**| A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. | [optional] + +### Return type + +[**ConjurConnector**](ConjurConnector.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/hal+json, application/json, application/problem+json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | CyberArk Conjur Connector details. | - | +**400** | Bad Request | - | +**401** | Unauthorized | - | +**403** | Insufficient permissions to query endpoint | - | +**404** | Not found | - | +**500** | Internal server error | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_conjur_connector_operations** +> Assignments get_conjur_connector_operations(id, aid=aid) + +List operation IDs for a Conjur connector + +Returns a list of operation IDs assigned to a CyberArk Conjur connector. + +### Example + +* Bearer Authentication (BearerAuth): + +```python +import thousandeyes_sdk.connectors +from thousandeyes_sdk.connectors.models.assignments import Assignments +from thousandeyes_sdk.connectors.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.thousandeyes.com/v7 +# See configuration.py for a list of all supported configuration parameters. +configuration = thousandeyes_sdk.core.Configuration( + host = "https://api.thousandeyes.com/v7" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure Bearer authorization: BearerAuth +configuration = thousandeyes_sdk.core.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with thousandeyes_sdk.core.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = thousandeyes_sdk.connectors.CyberArkConjurConnectorsApi(api_client) + id = 'cb1b8033-ea2d-4e9b-a920-fe87850693cf' # str | The connector ID. + aid = '1234' # str | A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. (optional) + + try: + # List operation IDs for a Conjur connector + api_response = api_instance.get_conjur_connector_operations(id, aid=aid) + print("The response of CyberArkConjurConnectorsApi->get_conjur_connector_operations:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling CyberArkConjurConnectorsApi->get_conjur_connector_operations: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| The connector ID. | + **aid** | **str**| A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. | [optional] + +### Return type + +[**Assignments**](Assignments.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/hal+json, application/json, application/problem+json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A list of assigned operation IDs. | - | +**400** | Bad Request | - | +**401** | Unauthorized | - | +**403** | Insufficient permissions to query endpoint | - | +**404** | Not found | - | +**500** | Internal server error | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_conjur_connectors** +> ConjurConnectors get_conjur_connectors(aid=aid) + +List Conjur connectors + +Returns a list of CyberArk Conjur connectors in the specified account group. If no account group is specified, the user’s default account group is used. + +### Example + +* Bearer Authentication (BearerAuth): + +```python +import thousandeyes_sdk.connectors +from thousandeyes_sdk.connectors.models.conjur_connectors import ConjurConnectors +from thousandeyes_sdk.connectors.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.thousandeyes.com/v7 +# See configuration.py for a list of all supported configuration parameters. +configuration = thousandeyes_sdk.core.Configuration( + host = "https://api.thousandeyes.com/v7" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure Bearer authorization: BearerAuth +configuration = thousandeyes_sdk.core.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with thousandeyes_sdk.core.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = thousandeyes_sdk.connectors.CyberArkConjurConnectorsApi(api_client) + aid = '1234' # str | A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. (optional) + + try: + # List Conjur connectors + api_response = api_instance.get_conjur_connectors(aid=aid) + print("The response of CyberArkConjurConnectorsApi->get_conjur_connectors:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling CyberArkConjurConnectorsApi->get_conjur_connectors: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **aid** | **str**| A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. | [optional] + +### Return type + +[**ConjurConnectors**](ConjurConnectors.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/hal+json, application/json, application/problem+json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A list of Conjur connectors. | - | +**400** | Bad Request | - | +**401** | Unauthorized | - | +**403** | Insufficient permissions to query endpoint | - | +**404** | Not found | - | +**500** | Internal server error | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **set_conjur_connector_operations** +> Assignments set_conjur_connector_operations(id, confirm_disabled_objects, request_body, aid=aid) + +Assign operations to a Conjur connector + +Assigns operations to a CyberArk Conjur connector. This replaces any existing assignments. Note: This operation may disable affected objects (such as tests) if operations are changed. + +### Example + +* Bearer Authentication (BearerAuth): + +```python +import thousandeyes_sdk.connectors +from thousandeyes_sdk.connectors.models.assignments import Assignments +from thousandeyes_sdk.connectors.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.thousandeyes.com/v7 +# See configuration.py for a list of all supported configuration parameters. +configuration = thousandeyes_sdk.core.Configuration( + host = "https://api.thousandeyes.com/v7" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure Bearer authorization: BearerAuth +configuration = thousandeyes_sdk.core.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with thousandeyes_sdk.core.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = thousandeyes_sdk.connectors.CyberArkConjurConnectorsApi(api_client) + id = 'cb1b8033-ea2d-4e9b-a920-fe87850693cf' # str | The connector ID. + confirm_disabled_objects = False # bool | Confirmation to disable affected objects (for example, tests) for Conjur connectors. (default to False) + request_body = ["ca39314d-eb4f-496f-9435-b5d20b1bfbff","a32cfbab-32f6-41d8-9027-7127cba965dd"] # List[str] | List of operation IDs to assign to the connector. + aid = '1234' # str | A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. (optional) + + try: + # Assign operations to a Conjur connector + api_response = api_instance.set_conjur_connector_operations(id, confirm_disabled_objects, request_body, aid=aid) + print("The response of CyberArkConjurConnectorsApi->set_conjur_connector_operations:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling CyberArkConjurConnectorsApi->set_conjur_connector_operations: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| The connector ID. | + **confirm_disabled_objects** | **bool**| Confirmation to disable affected objects (for example, tests) for Conjur connectors. | [default to False] + **request_body** | [**List[str]**](str.md)| List of operation IDs to assign to the connector. | + **aid** | **str**| A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. | [optional] + +### Return type + +[**Assignments**](Assignments.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/hal+json, application/json, application/problem+json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | Operations assigned successfully. | - | +**400** | Bad Request | - | +**401** | Unauthorized | - | +**403** | Insufficient permissions to query endpoint | - | +**404** | Not found | - | +**500** | Internal server error | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **update_conjur_connector** +> ConjurConnector update_conjur_connector(id, conjur_connector, aid=aid) + +Update a Conjur connector + +Updates the CyberArk Conjur connector specified by ID. + +### Example + +* Bearer Authentication (BearerAuth): + +```python +import thousandeyes_sdk.connectors +from thousandeyes_sdk.connectors.models.conjur_connector import ConjurConnector +from thousandeyes_sdk.connectors.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.thousandeyes.com/v7 +# See configuration.py for a list of all supported configuration parameters. +configuration = thousandeyes_sdk.core.Configuration( + host = "https://api.thousandeyes.com/v7" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure Bearer authorization: BearerAuth +configuration = thousandeyes_sdk.core.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with thousandeyes_sdk.core.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = thousandeyes_sdk.connectors.CyberArkConjurConnectorsApi(api_client) + id = 'cb1b8033-ea2d-4e9b-a920-fe87850693cf' # str | The connector ID. + conjur_connector = thousandeyes_sdk.connectors.ConjurConnector() # ConjurConnector | + aid = '1234' # str | A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. (optional) + + try: + # Update a Conjur connector + api_response = api_instance.update_conjur_connector(id, conjur_connector, aid=aid) + print("The response of CyberArkConjurConnectorsApi->update_conjur_connector:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling CyberArkConjurConnectorsApi->update_conjur_connector: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| The connector ID. | + **conjur_connector** | [**ConjurConnector**](ConjurConnector.md)| | + **aid** | **str**| A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. | [optional] + +### Return type + +[**ConjurConnector**](ConjurConnector.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/hal+json, application/json, application/problem+json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | The updated connector. | - | +**400** | Bad Request | - | +**401** | Unauthorized | - | +**403** | Insufficient permissions to query endpoint | - | +**404** | Not found | - | +**500** | Internal server error | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/thousandeyes-sdk-connectors/docs/GenericConnector.md b/thousandeyes-sdk-connectors/docs/GenericConnector.md index fb364fbe..1fd19e4d 100644 --- a/thousandeyes-sdk-connectors/docs/GenericConnector.md +++ b/thousandeyes-sdk-connectors/docs/GenericConnector.md @@ -9,9 +9,10 @@ Name | Type | Description | Notes **type** | [**ConnectorType**](ConnectorType.md) | | **name** | **str** | | **target** | **str** | | -**authentication** | [**GenericConnectorAuth**](GenericConnectorAuth.md) | | [optional] **last_modified_date** | **int** | The date when the connector was last modified (Unix timestamp in milliseconds). | [optional] [readonly] +**authentication** | [**GenericConnectorAuth**](GenericConnectorAuth.md) | | [optional] **headers** | [**List[Header]**](Header.md) | | [optional] +**links** | [**SelfLinks**](SelfLinks.md) | | [optional] ## Example diff --git a/thousandeyes-sdk-connectors/docs/GenericConnectorAuth.md b/thousandeyes-sdk-connectors/docs/GenericConnectorAuth.md index e77f7732..f28c2f46 100644 --- a/thousandeyes-sdk-connectors/docs/GenericConnectorAuth.md +++ b/thousandeyes-sdk-connectors/docs/GenericConnectorAuth.md @@ -16,6 +16,7 @@ Name | Type | Description | Notes **oauth_client_secret** | **str** | | **code** | **str** | | **redirect_uri** | **str** | | +**scope** | **str** | | [optional] ## Example diff --git a/thousandeyes-sdk-connectors/docs/GenericConnectorsApi.md b/thousandeyes-sdk-connectors/docs/GenericConnectorsApi.md index 1c5a5c37..b94234f9 100644 --- a/thousandeyes-sdk-connectors/docs/GenericConnectorsApi.md +++ b/thousandeyes-sdk-connectors/docs/GenericConnectorsApi.md @@ -8,7 +8,7 @@ Method | HTTP request | Description [**delete_generic_connector**](GenericConnectorsApi.md#delete_generic_connector) | **DELETE** /connectors/generic/{id} | Delete connector [**get_generic_connector**](GenericConnectorsApi.md#get_generic_connector) | **GET** /connectors/generic/{id} | Retrieve connector [**get_generic_connectors**](GenericConnectorsApi.md#get_generic_connectors) | **GET** /connectors/generic | List connectors -[**list_generic_connector_operations**](GenericConnectorsApi.md#list_generic_connector_operations) | **GET** /connectors/generic/{id}/operations | List operation IDs assigned to a connector +[**list_generic_connector_operations**](GenericConnectorsApi.md#list_generic_connector_operations) | **GET** /connectors/generic/{id}/operations | List operation IDs for a connector [**set_generic_connector_operations**](GenericConnectorsApi.md#set_generic_connector_operations) | **PUT** /connectors/generic/{id}/operations | Assign operations to a connector [**update_generic_connector**](GenericConnectorsApi.md#update_generic_connector) | **PUT** /connectors/generic/{id} | Update connector @@ -171,7 +171,7 @@ void (empty response body) | Status code | Description | Response headers | |-------------|-------------|------------------| -**204** | No Content | - | +**204** | No Content. | - | **400** | Bad Request | - | **401** | Unauthorized | - | **403** | Insufficient permissions to query endpoint | - | @@ -351,7 +351,7 @@ Name | Type | Description | Notes # **list_generic_connector_operations** > Assignments list_generic_connector_operations(id, aid=aid) -List operation IDs assigned to a connector +List operation IDs for a connector Returns a list of operation IDs assigned to a connector. @@ -389,7 +389,7 @@ with thousandeyes_sdk.core.ApiClient(configuration) as api_client: aid = '1234' # str | A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. (optional) try: - # List operation IDs assigned to a connector + # List operation IDs for a connector api_response = api_instance.list_generic_connector_operations(id, aid=aid) print("The response of GenericConnectorsApi->list_generic_connector_operations:\n") pprint(api_response) diff --git a/thousandeyes-sdk-connectors/docs/Header.md b/thousandeyes-sdk-connectors/docs/Header.md index 7041fe2f..1ad37cc3 100644 --- a/thousandeyes-sdk-connectors/docs/Header.md +++ b/thousandeyes-sdk-connectors/docs/Header.md @@ -6,7 +6,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **name** | **str** | | -**value** | **str** | The value of the header. Note that this value is obfuscated in the response, even when overwritten. | +**value** | **str** | | ## Example diff --git a/thousandeyes-sdk-connectors/docs/OauthClientCredentialsAuthentication.md b/thousandeyes-sdk-connectors/docs/OauthClientCredentialsAuthentication.md index d112fd9c..f726871e 100644 --- a/thousandeyes-sdk-connectors/docs/OauthClientCredentialsAuthentication.md +++ b/thousandeyes-sdk-connectors/docs/OauthClientCredentialsAuthentication.md @@ -9,6 +9,7 @@ Name | Type | Description | Notes **oauth_client_id** | **str** | | **oauth_token_url** | **str** | | **oauth_client_secret** | **str** | | +**scope** | **str** | | [optional] **type** | [**AuthenticationType**](AuthenticationType.md) | | ## Example diff --git a/thousandeyes-sdk-connectors/docs/OperationConnectorsApi.md b/thousandeyes-sdk-connectors/docs/OperationConnectorsApi.md index 3924a821..cae1f858 100644 --- a/thousandeyes-sdk-connectors/docs/OperationConnectorsApi.md +++ b/thousandeyes-sdk-connectors/docs/OperationConnectorsApi.md @@ -80,27 +80,27 @@ Name | Type | Description | Notes ### HTTP request headers - **Content-Type**: Not defined - - **Accept**: application/problem+json, application/hal+json, application/json + - **Accept**: application/hal+json, application/json, application/problem+json ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -**404** | Not found | - | **200** | A list of assigned connectors. | - | **400** | Bad Request | - | **401** | Unauthorized | - | **403** | Insufficient permissions to query endpoint | - | +**404** | Not found | - | **500** | Internal server error | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **set_operation_connectors** -> Assignments set_operation_connectors(type, id, request_body, aid=aid) +> Assignments set_operation_connectors(type, id, request_body, confirm_disabled_objects=confirm_disabled_objects, aid=aid) Assign connectors to an operation -Assigns one or more connectors to an operation. This replaces any existing assignments. +Assigns one or more connectors to an operation. This replaces any existing assignments. Note: This operation may disable affected objects (such as tests) if connectors are changed. ### Example @@ -135,11 +135,12 @@ with thousandeyes_sdk.core.ApiClient(configuration) as api_client: type = 'webhooks' # str | The operation type. id = 'cb1b8033-ea2d-4e9b-a920-fe87850693cf' # str | The operation ID. request_body = ["ca39314d-eb4f-496f-9435-b5d20b1bfbff"] # List[str] | List of connector IDs to assign to the operation. + confirm_disabled_objects = False # bool | Confirmation to disable affected objects (for example, tests) for credential-vault operations. (optional) (default to False) aid = '1234' # str | A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. (optional) try: # Assign connectors to an operation - api_response = api_instance.set_operation_connectors(type, id, request_body, aid=aid) + api_response = api_instance.set_operation_connectors(type, id, request_body, confirm_disabled_objects=confirm_disabled_objects, aid=aid) print("The response of OperationConnectorsApi->set_operation_connectors:\n") pprint(api_response) except Exception as e: @@ -156,6 +157,7 @@ Name | Type | Description | Notes **type** | **str**| The operation type. | **id** | **str**| The operation ID. | **request_body** | [**List[str]**](str.md)| List of connector IDs to assign to the operation. | + **confirm_disabled_objects** | **bool**| Confirmation to disable affected objects (for example, tests) for credential-vault operations. | [optional] [default to False] **aid** | **str**| A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. | [optional] ### Return type @@ -169,17 +171,17 @@ Name | Type | Description | Notes ### HTTP request headers - **Content-Type**: application/json - - **Accept**: application/problem+json, application/hal+json, application/json + - **Accept**: application/hal+json, application/json, application/problem+json ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -**404** | Not found | - | **200** | Operation Connectors updated successfully. | - | **400** | Bad Request | - | **401** | Unauthorized | - | **403** | Insufficient permissions to query endpoint | - | +**404** | Not found | - | **500** | Internal server error | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) diff --git a/thousandeyes-sdk-connectors/docs/WebhookOperationsApi.md b/thousandeyes-sdk-connectors/docs/WebhookOperationsApi.md index be7076ba..c5c151e2 100644 --- a/thousandeyes-sdk-connectors/docs/WebhookOperationsApi.md +++ b/thousandeyes-sdk-connectors/docs/WebhookOperationsApi.md @@ -169,7 +169,7 @@ void (empty response body) | Status code | Description | Response headers | |-------------|-------------|------------------| -**204** | No Content | - | +**204** | No Content. | - | **400** | Bad Request | - | **401** | Unauthorized | - | **403** | Insufficient permissions to query endpoint | - | diff --git a/thousandeyes-sdk-connectors/src/thousandeyes_sdk/connectors/__init__.py b/thousandeyes-sdk-connectors/src/thousandeyes_sdk/connectors/__init__.py index 3bbabf50..aaecf7e9 100644 --- a/thousandeyes-sdk-connectors/src/thousandeyes_sdk/connectors/__init__.py +++ b/thousandeyes-sdk-connectors/src/thousandeyes_sdk/connectors/__init__.py @@ -14,6 +14,8 @@ # import apis into sdk package +from thousandeyes_sdk.connectors.api.credential_vault_operations_api import CredentialVaultOperationsApi +from thousandeyes_sdk.connectors.api.cyber_ark_conjur_connectors_api import CyberArkConjurConnectorsApi from thousandeyes_sdk.connectors.api.generic_connectors_api import GenericConnectorsApi from thousandeyes_sdk.connectors.api.operation_connectors_api import OperationConnectorsApi from thousandeyes_sdk.connectors.api.webhook_operations_api import WebhookOperationsApi @@ -24,7 +26,13 @@ from thousandeyes_sdk.connectors.models.assignments import Assignments from thousandeyes_sdk.connectors.models.authentication_type import AuthenticationType from thousandeyes_sdk.connectors.models.basic_authentication import BasicAuthentication from thousandeyes_sdk.connectors.models.bearer_token_authentication import BearerTokenAuthentication +from thousandeyes_sdk.connectors.models.conjur_connector import ConjurConnector +from thousandeyes_sdk.connectors.models.conjur_connectors import ConjurConnectors +from thousandeyes_sdk.connectors.models.conjur_host_authentication import ConjurHostAuthentication from thousandeyes_sdk.connectors.models.connector_type import ConnectorType +from thousandeyes_sdk.connectors.models.credential_vault_operation import CredentialVaultOperation +from thousandeyes_sdk.connectors.models.credential_vault_operations import CredentialVaultOperations +from thousandeyes_sdk.connectors.models.credential_vault_secret import CredentialVaultSecret from thousandeyes_sdk.connectors.models.error import Error from thousandeyes_sdk.connectors.models.generic_connector import GenericConnector from thousandeyes_sdk.connectors.models.generic_connector_auth import GenericConnectorAuth diff --git a/thousandeyes-sdk-connectors/src/thousandeyes_sdk/connectors/api/__init__.py b/thousandeyes-sdk-connectors/src/thousandeyes_sdk/connectors/api/__init__.py index 929e0ab8..56f864ae 100644 --- a/thousandeyes-sdk-connectors/src/thousandeyes_sdk/connectors/api/__init__.py +++ b/thousandeyes-sdk-connectors/src/thousandeyes_sdk/connectors/api/__init__.py @@ -1,6 +1,8 @@ # flake8: noqa # import apis into api package +from thousandeyes_sdk.connectors.api.credential_vault_operations_api import CredentialVaultOperationsApi +from thousandeyes_sdk.connectors.api.cyber_ark_conjur_connectors_api import CyberArkConjurConnectorsApi from thousandeyes_sdk.connectors.api.generic_connectors_api import GenericConnectorsApi from thousandeyes_sdk.connectors.api.operation_connectors_api import OperationConnectorsApi from thousandeyes_sdk.connectors.api.webhook_operations_api import WebhookOperationsApi diff --git a/thousandeyes-sdk-connectors/src/thousandeyes_sdk/connectors/api/credential_vault_operations_api.py b/thousandeyes-sdk-connectors/src/thousandeyes_sdk/connectors/api/credential_vault_operations_api.py new file mode 100644 index 00000000..4bb399a9 --- /dev/null +++ b/thousandeyes-sdk-connectors/src/thousandeyes_sdk/connectors/api/credential_vault_operations_api.py @@ -0,0 +1,1556 @@ +# coding: utf-8 + +""" + Integrations API + + **Note:** The Webhook Operations APIs are not available for ThousandEyes for Government instance. Manage connectors and operations. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated +from importlib.metadata import version + +import thousandeyes_sdk.connectors.models + +from pydantic import Field, StrictBool, StrictStr +from typing import Optional +from typing_extensions import Annotated +from thousandeyes_sdk.connectors.models.credential_vault_operation import CredentialVaultOperation +from thousandeyes_sdk.connectors.models.credential_vault_operations import CredentialVaultOperations + +from thousandeyes_sdk.core.api_client import ApiClient, RequestSerialized +from thousandeyes_sdk.core.api_response import ApiResponse + +from thousandeyes_sdk.core.rest import RESTResponseType + + +class CredentialVaultOperationsApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + api_client.user_agent = "ThousandEyesSDK-Python/{0}".format(version("thousandeyes-sdk-connectors")) + self.api_client = api_client + + + @validate_call + def create_credential_vault_operation( + self, + credential_vault_operation: CredentialVaultOperation, + aid: Annotated[Optional[StrictStr], Field(description="A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> CredentialVaultOperation: + """Create Credential Vault operation + + Create a new Credential Vault operation. + + :param credential_vault_operation: (required) + :type credential_vault_operation: CredentialVaultOperation + :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. + :type aid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_credential_vault_operation_serialize( + credential_vault_operation=credential_vault_operation, + aid=aid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "CredentialVaultOperation", + '400': "ValidationError", + '401': "UnauthorizedError", + '403': "Error", + '404': "Error", + '500': "Error", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + models=thousandeyes_sdk.connectors.models, + ).data + + + @validate_call + def create_credential_vault_operation_with_http_info( + self, + credential_vault_operation: CredentialVaultOperation, + aid: Annotated[Optional[StrictStr], Field(description="A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[CredentialVaultOperation]: + """Create Credential Vault operation + + Create a new Credential Vault operation. + + :param credential_vault_operation: (required) + :type credential_vault_operation: CredentialVaultOperation + :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. + :type aid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_credential_vault_operation_serialize( + credential_vault_operation=credential_vault_operation, + aid=aid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "CredentialVaultOperation", + '400': "ValidationError", + '401': "UnauthorizedError", + '403': "Error", + '404': "Error", + '500': "Error", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + models=thousandeyes_sdk.connectors.models, + ) + + + @validate_call + def create_credential_vault_operation_without_preload_content( + self, + credential_vault_operation: CredentialVaultOperation, + aid: Annotated[Optional[StrictStr], Field(description="A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Create Credential Vault operation + + Create a new Credential Vault operation. + + :param credential_vault_operation: (required) + :type credential_vault_operation: CredentialVaultOperation + :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. + :type aid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_credential_vault_operation_serialize( + credential_vault_operation=credential_vault_operation, + aid=aid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "CredentialVaultOperation", + '400': "ValidationError", + '401': "UnauthorizedError", + '403': "Error", + '404': "Error", + '500': "Error", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_credential_vault_operation_serialize( + self, + credential_vault_operation, + aid, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, Union[str, bytes]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if aid is not None: + + _query_params.append(('aid', aid)) + + # process the header parameters + # process the form parameters + # process the body parameter + if credential_vault_operation is not None: + _body_params = credential_vault_operation + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/hal+json', + 'application/json', + 'application/problem+json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/operations/credential-vault', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def delete_credential_vault_operation( + self, + id: Annotated[StrictStr, Field(description="The operation ID.")], + confirm_disabled_objects: Annotated[StrictBool, Field(description="Confirmation to disable affected objects (for example, tests) for credential-vault operations.")], + aid: Annotated[Optional[StrictStr], Field(description="A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> None: + """Delete Credential Vault operation + + Delete a single Credential Vault operation by its ID. Note: This operation may disable affected objects (such as tests). + + :param id: The operation ID. (required) + :type id: str + :param confirm_disabled_objects: Confirmation to disable affected objects (for example, tests) for credential-vault operations. (required) + :type confirm_disabled_objects: bool + :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. + :type aid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_credential_vault_operation_serialize( + id=id, + confirm_disabled_objects=confirm_disabled_objects, + aid=aid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + '400': "ValidationError", + '401': "UnauthorizedError", + '403': "Error", + '404': "Error", + '500': "Error", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + models=thousandeyes_sdk.connectors.models, + ).data + + + @validate_call + def delete_credential_vault_operation_with_http_info( + self, + id: Annotated[StrictStr, Field(description="The operation ID.")], + confirm_disabled_objects: Annotated[StrictBool, Field(description="Confirmation to disable affected objects (for example, tests) for credential-vault operations.")], + aid: Annotated[Optional[StrictStr], Field(description="A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[None]: + """Delete Credential Vault operation + + Delete a single Credential Vault operation by its ID. Note: This operation may disable affected objects (such as tests). + + :param id: The operation ID. (required) + :type id: str + :param confirm_disabled_objects: Confirmation to disable affected objects (for example, tests) for credential-vault operations. (required) + :type confirm_disabled_objects: bool + :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. + :type aid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_credential_vault_operation_serialize( + id=id, + confirm_disabled_objects=confirm_disabled_objects, + aid=aid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + '400': "ValidationError", + '401': "UnauthorizedError", + '403': "Error", + '404': "Error", + '500': "Error", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + models=thousandeyes_sdk.connectors.models, + ) + + + @validate_call + def delete_credential_vault_operation_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="The operation ID.")], + confirm_disabled_objects: Annotated[StrictBool, Field(description="Confirmation to disable affected objects (for example, tests) for credential-vault operations.")], + aid: Annotated[Optional[StrictStr], Field(description="A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Delete Credential Vault operation + + Delete a single Credential Vault operation by its ID. Note: This operation may disable affected objects (such as tests). + + :param id: The operation ID. (required) + :type id: str + :param confirm_disabled_objects: Confirmation to disable affected objects (for example, tests) for credential-vault operations. (required) + :type confirm_disabled_objects: bool + :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. + :type aid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_credential_vault_operation_serialize( + id=id, + confirm_disabled_objects=confirm_disabled_objects, + aid=aid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + '400': "ValidationError", + '401': "UnauthorizedError", + '403': "Error", + '404': "Error", + '500': "Error", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_credential_vault_operation_serialize( + self, + id, + confirm_disabled_objects, + aid, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, Union[str, bytes]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + if aid is not None: + + _query_params.append(('aid', aid)) + + if confirm_disabled_objects is not None: + + _query_params.append(('confirmDisabledObjects', confirm_disabled_objects)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json', + 'application/problem+json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/operations/credential-vault/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_credential_vault_operation( + self, + id: Annotated[StrictStr, Field(description="The operation ID.")], + aid: Annotated[Optional[StrictStr], Field(description="A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> CredentialVaultOperation: + """Get Credential Vault operation + + Retrieve a single Credential Vault operation by its ID. + + :param id: The operation ID. (required) + :type id: str + :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. + :type aid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_credential_vault_operation_serialize( + id=id, + aid=aid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CredentialVaultOperation", + '400': "ValidationError", + '401': "UnauthorizedError", + '403': "Error", + '404': "Error", + '500': "Error", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + models=thousandeyes_sdk.connectors.models, + ).data + + + @validate_call + def get_credential_vault_operation_with_http_info( + self, + id: Annotated[StrictStr, Field(description="The operation ID.")], + aid: Annotated[Optional[StrictStr], Field(description="A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[CredentialVaultOperation]: + """Get Credential Vault operation + + Retrieve a single Credential Vault operation by its ID. + + :param id: The operation ID. (required) + :type id: str + :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. + :type aid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_credential_vault_operation_serialize( + id=id, + aid=aid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CredentialVaultOperation", + '400': "ValidationError", + '401': "UnauthorizedError", + '403': "Error", + '404': "Error", + '500': "Error", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + models=thousandeyes_sdk.connectors.models, + ) + + + @validate_call + def get_credential_vault_operation_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="The operation ID.")], + aid: Annotated[Optional[StrictStr], Field(description="A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Get Credential Vault operation + + Retrieve a single Credential Vault operation by its ID. + + :param id: The operation ID. (required) + :type id: str + :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. + :type aid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_credential_vault_operation_serialize( + id=id, + aid=aid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CredentialVaultOperation", + '400': "ValidationError", + '401': "UnauthorizedError", + '403': "Error", + '404': "Error", + '500': "Error", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_credential_vault_operation_serialize( + self, + id, + aid, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, Union[str, bytes]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + if aid is not None: + + _query_params.append(('aid', aid)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/hal+json', + 'application/json', + 'application/problem+json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/operations/credential-vault/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_credential_vault_operations( + self, + aid: Annotated[Optional[StrictStr], Field(description="A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> CredentialVaultOperations: + """List Credential Vault operations + + Returns a list of Credential Vault operations in the specified account group. If no account group is specified, the user's default account group is used. + + :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. + :type aid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_credential_vault_operations_serialize( + aid=aid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CredentialVaultOperations", + '400': "ValidationError", + '401': "UnauthorizedError", + '403': "Error", + '404': "Error", + '500': "Error", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + models=thousandeyes_sdk.connectors.models, + ).data + + + @validate_call + def get_credential_vault_operations_with_http_info( + self, + aid: Annotated[Optional[StrictStr], Field(description="A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[CredentialVaultOperations]: + """List Credential Vault operations + + Returns a list of Credential Vault operations in the specified account group. If no account group is specified, the user's default account group is used. + + :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. + :type aid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_credential_vault_operations_serialize( + aid=aid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CredentialVaultOperations", + '400': "ValidationError", + '401': "UnauthorizedError", + '403': "Error", + '404': "Error", + '500': "Error", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + models=thousandeyes_sdk.connectors.models, + ) + + + @validate_call + def get_credential_vault_operations_without_preload_content( + self, + aid: Annotated[Optional[StrictStr], Field(description="A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """List Credential Vault operations + + Returns a list of Credential Vault operations in the specified account group. If no account group is specified, the user's default account group is used. + + :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. + :type aid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_credential_vault_operations_serialize( + aid=aid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CredentialVaultOperations", + '400': "ValidationError", + '401': "UnauthorizedError", + '403': "Error", + '404': "Error", + '500': "Error", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_credential_vault_operations_serialize( + self, + aid, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, Union[str, bytes]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if aid is not None: + + _query_params.append(('aid', aid)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/hal+json', + 'application/json', + 'application/problem+json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/operations/credential-vault', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def update_credential_vault_operation( + self, + id: Annotated[StrictStr, Field(description="The operation ID.")], + credential_vault_operation: CredentialVaultOperation, + aid: Annotated[Optional[StrictStr], Field(description="A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> CredentialVaultOperation: + """Update Credential Vault operation + + Update a single existing Credential Vault operation. + + :param id: The operation ID. (required) + :type id: str + :param credential_vault_operation: (required) + :type credential_vault_operation: CredentialVaultOperation + :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. + :type aid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_credential_vault_operation_serialize( + id=id, + credential_vault_operation=credential_vault_operation, + aid=aid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CredentialVaultOperation", + '400': "ValidationError", + '401': "UnauthorizedError", + '403': "Error", + '404': "Error", + '500': "Error", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + models=thousandeyes_sdk.connectors.models, + ).data + + + @validate_call + def update_credential_vault_operation_with_http_info( + self, + id: Annotated[StrictStr, Field(description="The operation ID.")], + credential_vault_operation: CredentialVaultOperation, + aid: Annotated[Optional[StrictStr], Field(description="A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[CredentialVaultOperation]: + """Update Credential Vault operation + + Update a single existing Credential Vault operation. + + :param id: The operation ID. (required) + :type id: str + :param credential_vault_operation: (required) + :type credential_vault_operation: CredentialVaultOperation + :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. + :type aid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_credential_vault_operation_serialize( + id=id, + credential_vault_operation=credential_vault_operation, + aid=aid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CredentialVaultOperation", + '400': "ValidationError", + '401': "UnauthorizedError", + '403': "Error", + '404': "Error", + '500': "Error", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + models=thousandeyes_sdk.connectors.models, + ) + + + @validate_call + def update_credential_vault_operation_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="The operation ID.")], + credential_vault_operation: CredentialVaultOperation, + aid: Annotated[Optional[StrictStr], Field(description="A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Update Credential Vault operation + + Update a single existing Credential Vault operation. + + :param id: The operation ID. (required) + :type id: str + :param credential_vault_operation: (required) + :type credential_vault_operation: CredentialVaultOperation + :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. + :type aid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_credential_vault_operation_serialize( + id=id, + credential_vault_operation=credential_vault_operation, + aid=aid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CredentialVaultOperation", + '400': "ValidationError", + '401': "UnauthorizedError", + '403': "Error", + '404': "Error", + '500': "Error", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _update_credential_vault_operation_serialize( + self, + id, + credential_vault_operation, + aid, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, Union[str, bytes]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + if aid is not None: + + _query_params.append(('aid', aid)) + + # process the header parameters + # process the form parameters + # process the body parameter + if credential_vault_operation is not None: + _body_params = credential_vault_operation + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/hal+json', + 'application/json', + 'application/problem+json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/operations/credential-vault/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/thousandeyes-sdk-connectors/src/thousandeyes_sdk/connectors/api/cyber_ark_conjur_connectors_api.py b/thousandeyes-sdk-connectors/src/thousandeyes_sdk/connectors/api/cyber_ark_conjur_connectors_api.py new file mode 100644 index 00000000..cb45747d --- /dev/null +++ b/thousandeyes-sdk-connectors/src/thousandeyes_sdk/connectors/api/cyber_ark_conjur_connectors_api.py @@ -0,0 +1,2191 @@ +# coding: utf-8 + +""" + Integrations API + + **Note:** The Webhook Operations APIs are not available for ThousandEyes for Government instance. Manage connectors and operations. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated +from importlib.metadata import version + +import thousandeyes_sdk.connectors.models + +from pydantic import Field, StrictBool, StrictStr +from typing import List, Optional +from typing_extensions import Annotated +from thousandeyes_sdk.connectors.models.assignments import Assignments +from thousandeyes_sdk.connectors.models.conjur_connector import ConjurConnector +from thousandeyes_sdk.connectors.models.conjur_connectors import ConjurConnectors + +from thousandeyes_sdk.core.api_client import ApiClient, RequestSerialized +from thousandeyes_sdk.core.api_response import ApiResponse + +from thousandeyes_sdk.core.rest import RESTResponseType + + +class CyberArkConjurConnectorsApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + api_client.user_agent = "ThousandEyesSDK-Python/{0}".format(version("thousandeyes-sdk-connectors")) + self.api_client = api_client + + + @validate_call + def create_conjur_connector( + self, + conjur_connector: ConjurConnector, + aid: Annotated[Optional[StrictStr], Field(description="A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ConjurConnector: + """Create Conjur connector + + Creates a new CyberArk Conjur connector. + + :param conjur_connector: (required) + :type conjur_connector: ConjurConnector + :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. + :type aid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_conjur_connector_serialize( + conjur_connector=conjur_connector, + aid=aid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "ConjurConnector", + '400': "ValidationError", + '401': "UnauthorizedError", + '403': "Error", + '404': "Error", + '500': "Error", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + models=thousandeyes_sdk.connectors.models, + ).data + + + @validate_call + def create_conjur_connector_with_http_info( + self, + conjur_connector: ConjurConnector, + aid: Annotated[Optional[StrictStr], Field(description="A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[ConjurConnector]: + """Create Conjur connector + + Creates a new CyberArk Conjur connector. + + :param conjur_connector: (required) + :type conjur_connector: ConjurConnector + :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. + :type aid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_conjur_connector_serialize( + conjur_connector=conjur_connector, + aid=aid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "ConjurConnector", + '400': "ValidationError", + '401': "UnauthorizedError", + '403': "Error", + '404': "Error", + '500': "Error", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + models=thousandeyes_sdk.connectors.models, + ) + + + @validate_call + def create_conjur_connector_without_preload_content( + self, + conjur_connector: ConjurConnector, + aid: Annotated[Optional[StrictStr], Field(description="A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Create Conjur connector + + Creates a new CyberArk Conjur connector. + + :param conjur_connector: (required) + :type conjur_connector: ConjurConnector + :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. + :type aid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_conjur_connector_serialize( + conjur_connector=conjur_connector, + aid=aid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "ConjurConnector", + '400': "ValidationError", + '401': "UnauthorizedError", + '403': "Error", + '404': "Error", + '500': "Error", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_conjur_connector_serialize( + self, + conjur_connector, + aid, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, Union[str, bytes]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if aid is not None: + + _query_params.append(('aid', aid)) + + # process the header parameters + # process the form parameters + # process the body parameter + if conjur_connector is not None: + _body_params = conjur_connector + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/hal+json', + 'application/json', + 'application/problem+json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/connectors/conjur', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def delete_conjur_connector( + self, + id: Annotated[StrictStr, Field(description="The connector ID.")], + confirm_disabled_objects: Annotated[StrictBool, Field(description="Confirmation to disable affected objects (for example, tests) for Conjur connectors.")], + aid: Annotated[Optional[StrictStr], Field(description="A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> None: + """Delete a Conjur connector + + Deleted the CyberArk Conjur connector specified by ID. Note: This operation may disable affected objects (such as tests). + + :param id: The connector ID. (required) + :type id: str + :param confirm_disabled_objects: Confirmation to disable affected objects (for example, tests) for Conjur connectors. (required) + :type confirm_disabled_objects: bool + :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. + :type aid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_conjur_connector_serialize( + id=id, + confirm_disabled_objects=confirm_disabled_objects, + aid=aid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + '400': "ValidationError", + '401': "UnauthorizedError", + '403': "Error", + '404': "Error", + '500': "Error", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + models=thousandeyes_sdk.connectors.models, + ).data + + + @validate_call + def delete_conjur_connector_with_http_info( + self, + id: Annotated[StrictStr, Field(description="The connector ID.")], + confirm_disabled_objects: Annotated[StrictBool, Field(description="Confirmation to disable affected objects (for example, tests) for Conjur connectors.")], + aid: Annotated[Optional[StrictStr], Field(description="A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[None]: + """Delete a Conjur connector + + Deleted the CyberArk Conjur connector specified by ID. Note: This operation may disable affected objects (such as tests). + + :param id: The connector ID. (required) + :type id: str + :param confirm_disabled_objects: Confirmation to disable affected objects (for example, tests) for Conjur connectors. (required) + :type confirm_disabled_objects: bool + :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. + :type aid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_conjur_connector_serialize( + id=id, + confirm_disabled_objects=confirm_disabled_objects, + aid=aid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + '400': "ValidationError", + '401': "UnauthorizedError", + '403': "Error", + '404': "Error", + '500': "Error", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + models=thousandeyes_sdk.connectors.models, + ) + + + @validate_call + def delete_conjur_connector_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="The connector ID.")], + confirm_disabled_objects: Annotated[StrictBool, Field(description="Confirmation to disable affected objects (for example, tests) for Conjur connectors.")], + aid: Annotated[Optional[StrictStr], Field(description="A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Delete a Conjur connector + + Deleted the CyberArk Conjur connector specified by ID. Note: This operation may disable affected objects (such as tests). + + :param id: The connector ID. (required) + :type id: str + :param confirm_disabled_objects: Confirmation to disable affected objects (for example, tests) for Conjur connectors. (required) + :type confirm_disabled_objects: bool + :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. + :type aid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_conjur_connector_serialize( + id=id, + confirm_disabled_objects=confirm_disabled_objects, + aid=aid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + '400': "ValidationError", + '401': "UnauthorizedError", + '403': "Error", + '404': "Error", + '500': "Error", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_conjur_connector_serialize( + self, + id, + confirm_disabled_objects, + aid, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, Union[str, bytes]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + if aid is not None: + + _query_params.append(('aid', aid)) + + if confirm_disabled_objects is not None: + + _query_params.append(('confirmDisabledObjects', confirm_disabled_objects)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json', + 'application/problem+json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/connectors/conjur/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_conjur_connector( + self, + id: Annotated[StrictStr, Field(description="The connector ID.")], + aid: Annotated[Optional[StrictStr], Field(description="A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ConjurConnector: + """Retrieve a Conjur connector + + Retrieves details of a CyberArk Conjur connector by its ID. + + :param id: The connector ID. (required) + :type id: str + :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. + :type aid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_conjur_connector_serialize( + id=id, + aid=aid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ConjurConnector", + '400': "ValidationError", + '401': "UnauthorizedError", + '403': "Error", + '404': "Error", + '500': "Error", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + models=thousandeyes_sdk.connectors.models, + ).data + + + @validate_call + def get_conjur_connector_with_http_info( + self, + id: Annotated[StrictStr, Field(description="The connector ID.")], + aid: Annotated[Optional[StrictStr], Field(description="A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[ConjurConnector]: + """Retrieve a Conjur connector + + Retrieves details of a CyberArk Conjur connector by its ID. + + :param id: The connector ID. (required) + :type id: str + :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. + :type aid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_conjur_connector_serialize( + id=id, + aid=aid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ConjurConnector", + '400': "ValidationError", + '401': "UnauthorizedError", + '403': "Error", + '404': "Error", + '500': "Error", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + models=thousandeyes_sdk.connectors.models, + ) + + + @validate_call + def get_conjur_connector_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="The connector ID.")], + aid: Annotated[Optional[StrictStr], Field(description="A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Retrieve a Conjur connector + + Retrieves details of a CyberArk Conjur connector by its ID. + + :param id: The connector ID. (required) + :type id: str + :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. + :type aid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_conjur_connector_serialize( + id=id, + aid=aid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ConjurConnector", + '400': "ValidationError", + '401': "UnauthorizedError", + '403': "Error", + '404': "Error", + '500': "Error", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_conjur_connector_serialize( + self, + id, + aid, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, Union[str, bytes]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + if aid is not None: + + _query_params.append(('aid', aid)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/hal+json', + 'application/json', + 'application/problem+json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/connectors/conjur/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_conjur_connector_operations( + self, + id: Annotated[StrictStr, Field(description="The connector ID.")], + aid: Annotated[Optional[StrictStr], Field(description="A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> Assignments: + """List operation IDs for a Conjur connector + + Returns a list of operation IDs assigned to a CyberArk Conjur connector. + + :param id: The connector ID. (required) + :type id: str + :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. + :type aid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_conjur_connector_operations_serialize( + id=id, + aid=aid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "Assignments", + '400': "ValidationError", + '401': "UnauthorizedError", + '403': "Error", + '404': "Error", + '500': "Error", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + models=thousandeyes_sdk.connectors.models, + ).data + + + @validate_call + def get_conjur_connector_operations_with_http_info( + self, + id: Annotated[StrictStr, Field(description="The connector ID.")], + aid: Annotated[Optional[StrictStr], Field(description="A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[Assignments]: + """List operation IDs for a Conjur connector + + Returns a list of operation IDs assigned to a CyberArk Conjur connector. + + :param id: The connector ID. (required) + :type id: str + :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. + :type aid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_conjur_connector_operations_serialize( + id=id, + aid=aid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "Assignments", + '400': "ValidationError", + '401': "UnauthorizedError", + '403': "Error", + '404': "Error", + '500': "Error", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + models=thousandeyes_sdk.connectors.models, + ) + + + @validate_call + def get_conjur_connector_operations_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="The connector ID.")], + aid: Annotated[Optional[StrictStr], Field(description="A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """List operation IDs for a Conjur connector + + Returns a list of operation IDs assigned to a CyberArk Conjur connector. + + :param id: The connector ID. (required) + :type id: str + :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. + :type aid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_conjur_connector_operations_serialize( + id=id, + aid=aid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "Assignments", + '400': "ValidationError", + '401': "UnauthorizedError", + '403': "Error", + '404': "Error", + '500': "Error", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_conjur_connector_operations_serialize( + self, + id, + aid, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, Union[str, bytes]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + if aid is not None: + + _query_params.append(('aid', aid)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/hal+json', + 'application/json', + 'application/problem+json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/connectors/conjur/{id}/operations', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_conjur_connectors( + self, + aid: Annotated[Optional[StrictStr], Field(description="A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ConjurConnectors: + """List Conjur connectors + + Returns a list of CyberArk Conjur connectors in the specified account group. If no account group is specified, the user’s default account group is used. + + :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. + :type aid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_conjur_connectors_serialize( + aid=aid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ConjurConnectors", + '400': "ValidationError", + '401': "UnauthorizedError", + '403': "Error", + '404': "Error", + '500': "Error", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + models=thousandeyes_sdk.connectors.models, + ).data + + + @validate_call + def get_conjur_connectors_with_http_info( + self, + aid: Annotated[Optional[StrictStr], Field(description="A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[ConjurConnectors]: + """List Conjur connectors + + Returns a list of CyberArk Conjur connectors in the specified account group. If no account group is specified, the user’s default account group is used. + + :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. + :type aid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_conjur_connectors_serialize( + aid=aid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ConjurConnectors", + '400': "ValidationError", + '401': "UnauthorizedError", + '403': "Error", + '404': "Error", + '500': "Error", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + models=thousandeyes_sdk.connectors.models, + ) + + + @validate_call + def get_conjur_connectors_without_preload_content( + self, + aid: Annotated[Optional[StrictStr], Field(description="A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """List Conjur connectors + + Returns a list of CyberArk Conjur connectors in the specified account group. If no account group is specified, the user’s default account group is used. + + :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. + :type aid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_conjur_connectors_serialize( + aid=aid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ConjurConnectors", + '400': "ValidationError", + '401': "UnauthorizedError", + '403': "Error", + '404': "Error", + '500': "Error", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_conjur_connectors_serialize( + self, + aid, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, Union[str, bytes]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if aid is not None: + + _query_params.append(('aid', aid)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/hal+json', + 'application/json', + 'application/problem+json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/connectors/conjur', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def set_conjur_connector_operations( + self, + id: Annotated[StrictStr, Field(description="The connector ID.")], + confirm_disabled_objects: Annotated[StrictBool, Field(description="Confirmation to disable affected objects (for example, tests) for Conjur connectors.")], + request_body: Annotated[List[StrictStr], Field(description="List of operation IDs to assign to the connector.")], + aid: Annotated[Optional[StrictStr], Field(description="A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> Assignments: + """Assign operations to a Conjur connector + + Assigns operations to a CyberArk Conjur connector. This replaces any existing assignments. Note: This operation may disable affected objects (such as tests) if operations are changed. + + :param id: The connector ID. (required) + :type id: str + :param confirm_disabled_objects: Confirmation to disable affected objects (for example, tests) for Conjur connectors. (required) + :type confirm_disabled_objects: bool + :param request_body: List of operation IDs to assign to the connector. (required) + :type request_body: List[str] + :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. + :type aid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._set_conjur_connector_operations_serialize( + id=id, + confirm_disabled_objects=confirm_disabled_objects, + request_body=request_body, + aid=aid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "Assignments", + '400': "ValidationError", + '401': "UnauthorizedError", + '403': "Error", + '404': "Error", + '500': "Error", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + models=thousandeyes_sdk.connectors.models, + ).data + + + @validate_call + def set_conjur_connector_operations_with_http_info( + self, + id: Annotated[StrictStr, Field(description="The connector ID.")], + confirm_disabled_objects: Annotated[StrictBool, Field(description="Confirmation to disable affected objects (for example, tests) for Conjur connectors.")], + request_body: Annotated[List[StrictStr], Field(description="List of operation IDs to assign to the connector.")], + aid: Annotated[Optional[StrictStr], Field(description="A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[Assignments]: + """Assign operations to a Conjur connector + + Assigns operations to a CyberArk Conjur connector. This replaces any existing assignments. Note: This operation may disable affected objects (such as tests) if operations are changed. + + :param id: The connector ID. (required) + :type id: str + :param confirm_disabled_objects: Confirmation to disable affected objects (for example, tests) for Conjur connectors. (required) + :type confirm_disabled_objects: bool + :param request_body: List of operation IDs to assign to the connector. (required) + :type request_body: List[str] + :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. + :type aid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._set_conjur_connector_operations_serialize( + id=id, + confirm_disabled_objects=confirm_disabled_objects, + request_body=request_body, + aid=aid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "Assignments", + '400': "ValidationError", + '401': "UnauthorizedError", + '403': "Error", + '404': "Error", + '500': "Error", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + models=thousandeyes_sdk.connectors.models, + ) + + + @validate_call + def set_conjur_connector_operations_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="The connector ID.")], + confirm_disabled_objects: Annotated[StrictBool, Field(description="Confirmation to disable affected objects (for example, tests) for Conjur connectors.")], + request_body: Annotated[List[StrictStr], Field(description="List of operation IDs to assign to the connector.")], + aid: Annotated[Optional[StrictStr], Field(description="A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Assign operations to a Conjur connector + + Assigns operations to a CyberArk Conjur connector. This replaces any existing assignments. Note: This operation may disable affected objects (such as tests) if operations are changed. + + :param id: The connector ID. (required) + :type id: str + :param confirm_disabled_objects: Confirmation to disable affected objects (for example, tests) for Conjur connectors. (required) + :type confirm_disabled_objects: bool + :param request_body: List of operation IDs to assign to the connector. (required) + :type request_body: List[str] + :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. + :type aid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._set_conjur_connector_operations_serialize( + id=id, + confirm_disabled_objects=confirm_disabled_objects, + request_body=request_body, + aid=aid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "Assignments", + '400': "ValidationError", + '401': "UnauthorizedError", + '403': "Error", + '404': "Error", + '500': "Error", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _set_conjur_connector_operations_serialize( + self, + id, + confirm_disabled_objects, + request_body, + aid, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'request_body': '', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, Union[str, bytes]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + if confirm_disabled_objects is not None: + + _query_params.append(('confirmDisabledObjects', confirm_disabled_objects)) + + if aid is not None: + + _query_params.append(('aid', aid)) + + # process the header parameters + # process the form parameters + # process the body parameter + if request_body is not None: + _body_params = request_body + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/hal+json', + 'application/json', + 'application/problem+json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/connectors/conjur/{id}/operations', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def update_conjur_connector( + self, + id: Annotated[StrictStr, Field(description="The connector ID.")], + conjur_connector: ConjurConnector, + aid: Annotated[Optional[StrictStr], Field(description="A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ConjurConnector: + """Update a Conjur connector + + Updates the CyberArk Conjur connector specified by ID. + + :param id: The connector ID. (required) + :type id: str + :param conjur_connector: (required) + :type conjur_connector: ConjurConnector + :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. + :type aid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_conjur_connector_serialize( + id=id, + conjur_connector=conjur_connector, + aid=aid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ConjurConnector", + '400': "ValidationError", + '401': "UnauthorizedError", + '403': "Error", + '404': "Error", + '500': "Error", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + models=thousandeyes_sdk.connectors.models, + ).data + + + @validate_call + def update_conjur_connector_with_http_info( + self, + id: Annotated[StrictStr, Field(description="The connector ID.")], + conjur_connector: ConjurConnector, + aid: Annotated[Optional[StrictStr], Field(description="A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[ConjurConnector]: + """Update a Conjur connector + + Updates the CyberArk Conjur connector specified by ID. + + :param id: The connector ID. (required) + :type id: str + :param conjur_connector: (required) + :type conjur_connector: ConjurConnector + :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. + :type aid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_conjur_connector_serialize( + id=id, + conjur_connector=conjur_connector, + aid=aid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ConjurConnector", + '400': "ValidationError", + '401': "UnauthorizedError", + '403': "Error", + '404': "Error", + '500': "Error", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + models=thousandeyes_sdk.connectors.models, + ) + + + @validate_call + def update_conjur_connector_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="The connector ID.")], + conjur_connector: ConjurConnector, + aid: Annotated[Optional[StrictStr], Field(description="A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Update a Conjur connector + + Updates the CyberArk Conjur connector specified by ID. + + :param id: The connector ID. (required) + :type id: str + :param conjur_connector: (required) + :type conjur_connector: ConjurConnector + :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. + :type aid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_conjur_connector_serialize( + id=id, + conjur_connector=conjur_connector, + aid=aid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ConjurConnector", + '400': "ValidationError", + '401': "UnauthorizedError", + '403': "Error", + '404': "Error", + '500': "Error", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _update_conjur_connector_serialize( + self, + id, + conjur_connector, + aid, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, Union[str, bytes]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + if aid is not None: + + _query_params.append(('aid', aid)) + + # process the header parameters + # process the form parameters + # process the body parameter + if conjur_connector is not None: + _body_params = conjur_connector + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/hal+json', + 'application/json', + 'application/problem+json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/connectors/conjur/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/thousandeyes-sdk-connectors/src/thousandeyes_sdk/connectors/api/generic_connectors_api.py b/thousandeyes-sdk-connectors/src/thousandeyes_sdk/connectors/api/generic_connectors_api.py index 1371d51c..6d5b00b7 100644 --- a/thousandeyes-sdk-connectors/src/thousandeyes_sdk/connectors/api/generic_connectors_api.py +++ b/thousandeyes-sdk-connectors/src/thousandeyes_sdk/connectors/api/generic_connectors_api.py @@ -1236,7 +1236,7 @@ class GenericConnectorsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> Assignments: - """List operation IDs assigned to a connector + """List operation IDs for a connector Returns a list of operation IDs assigned to a connector. @@ -1313,7 +1313,7 @@ class GenericConnectorsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[Assignments]: - """List operation IDs assigned to a connector + """List operation IDs for a connector Returns a list of operation IDs assigned to a connector. @@ -1390,7 +1390,7 @@ class GenericConnectorsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """List operation IDs assigned to a connector + """List operation IDs for a connector Returns a list of operation IDs assigned to a connector. diff --git a/thousandeyes-sdk-connectors/src/thousandeyes_sdk/connectors/api/operation_connectors_api.py b/thousandeyes-sdk-connectors/src/thousandeyes_sdk/connectors/api/operation_connectors_api.py index 5d7784e0..2ef4d81a 100644 --- a/thousandeyes-sdk-connectors/src/thousandeyes_sdk/connectors/api/operation_connectors_api.py +++ b/thousandeyes-sdk-connectors/src/thousandeyes_sdk/connectors/api/operation_connectors_api.py @@ -18,7 +18,7 @@ from importlib.metadata import version import thousandeyes_sdk.connectors.models -from pydantic import Field, StrictStr +from pydantic import Field, StrictBool, StrictStr from typing import List, Optional from typing_extensions import Annotated from thousandeyes_sdk.connectors.models.assignments import Assignments @@ -105,11 +105,11 @@ class OperationConnectorsApi: ) _response_types_map: Dict[str, Optional[str]] = { - '404': "Error", '200': "Assignments", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", + '404': "Error", '500': "Error", } response_data = self.api_client.call_api( @@ -186,11 +186,11 @@ class OperationConnectorsApi: ) _response_types_map: Dict[str, Optional[str]] = { - '404': "Error", '200': "Assignments", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", + '404': "Error", '500': "Error", } response_data = self.api_client.call_api( @@ -267,11 +267,11 @@ class OperationConnectorsApi: ) _response_types_map: Dict[str, Optional[str]] = { - '404': "Error", '200': "Assignments", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", + '404': "Error", '500': "Error", } response_data = self.api_client.call_api( @@ -322,9 +322,9 @@ class OperationConnectorsApi: # set the HTTP header `Accept` _header_params['Accept'] = self.api_client.select_header_accept( [ - 'application/problem+json', 'application/hal+json', - 'application/json' + 'application/json', + 'application/problem+json' ] ) @@ -358,6 +358,7 @@ class OperationConnectorsApi: type: Annotated[StrictStr, Field(description="The operation type.")], id: Annotated[StrictStr, Field(description="The operation ID.")], request_body: Annotated[List[StrictStr], Field(min_length=0, max_length=1, description="List of connector IDs to assign to the operation.")], + confirm_disabled_objects: Annotated[Optional[StrictBool], Field(description="Confirmation to disable affected objects (for example, tests) for credential-vault operations.")] = None, aid: Annotated[Optional[StrictStr], Field(description="A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response.")] = None, _request_timeout: Union[ None, @@ -374,7 +375,7 @@ class OperationConnectorsApi: ) -> Assignments: """Assign connectors to an operation - Assigns one or more connectors to an operation. This replaces any existing assignments. + Assigns one or more connectors to an operation. This replaces any existing assignments. Note: This operation may disable affected objects (such as tests) if connectors are changed. :param type: The operation type. (required) :type type: str @@ -382,6 +383,8 @@ class OperationConnectorsApi: :type id: str :param request_body: List of connector IDs to assign to the operation. (required) :type request_body: List[str] + :param confirm_disabled_objects: Confirmation to disable affected objects (for example, tests) for credential-vault operations. + :type confirm_disabled_objects: bool :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str :param _request_timeout: timeout setting for this request. If one @@ -410,6 +413,7 @@ class OperationConnectorsApi: type=type, id=id, request_body=request_body, + confirm_disabled_objects=confirm_disabled_objects, aid=aid, _request_auth=_request_auth, _content_type=_content_type, @@ -418,11 +422,11 @@ class OperationConnectorsApi: ) _response_types_map: Dict[str, Optional[str]] = { - '404': "Error", '200': "Assignments", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", + '404': "Error", '500': "Error", } response_data = self.api_client.call_api( @@ -443,6 +447,7 @@ class OperationConnectorsApi: type: Annotated[StrictStr, Field(description="The operation type.")], id: Annotated[StrictStr, Field(description="The operation ID.")], request_body: Annotated[List[StrictStr], Field(min_length=0, max_length=1, description="List of connector IDs to assign to the operation.")], + confirm_disabled_objects: Annotated[Optional[StrictBool], Field(description="Confirmation to disable affected objects (for example, tests) for credential-vault operations.")] = None, aid: Annotated[Optional[StrictStr], Field(description="A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response.")] = None, _request_timeout: Union[ None, @@ -459,7 +464,7 @@ class OperationConnectorsApi: ) -> ApiResponse[Assignments]: """Assign connectors to an operation - Assigns one or more connectors to an operation. This replaces any existing assignments. + Assigns one or more connectors to an operation. This replaces any existing assignments. Note: This operation may disable affected objects (such as tests) if connectors are changed. :param type: The operation type. (required) :type type: str @@ -467,6 +472,8 @@ class OperationConnectorsApi: :type id: str :param request_body: List of connector IDs to assign to the operation. (required) :type request_body: List[str] + :param confirm_disabled_objects: Confirmation to disable affected objects (for example, tests) for credential-vault operations. + :type confirm_disabled_objects: bool :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str :param _request_timeout: timeout setting for this request. If one @@ -495,6 +502,7 @@ class OperationConnectorsApi: type=type, id=id, request_body=request_body, + confirm_disabled_objects=confirm_disabled_objects, aid=aid, _request_auth=_request_auth, _content_type=_content_type, @@ -503,11 +511,11 @@ class OperationConnectorsApi: ) _response_types_map: Dict[str, Optional[str]] = { - '404': "Error", '200': "Assignments", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", + '404': "Error", '500': "Error", } response_data = self.api_client.call_api( @@ -528,6 +536,7 @@ class OperationConnectorsApi: type: Annotated[StrictStr, Field(description="The operation type.")], id: Annotated[StrictStr, Field(description="The operation ID.")], request_body: Annotated[List[StrictStr], Field(min_length=0, max_length=1, description="List of connector IDs to assign to the operation.")], + confirm_disabled_objects: Annotated[Optional[StrictBool], Field(description="Confirmation to disable affected objects (for example, tests) for credential-vault operations.")] = None, aid: Annotated[Optional[StrictStr], Field(description="A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response.")] = None, _request_timeout: Union[ None, @@ -544,7 +553,7 @@ class OperationConnectorsApi: ) -> RESTResponseType: """Assign connectors to an operation - Assigns one or more connectors to an operation. This replaces any existing assignments. + Assigns one or more connectors to an operation. This replaces any existing assignments. Note: This operation may disable affected objects (such as tests) if connectors are changed. :param type: The operation type. (required) :type type: str @@ -552,6 +561,8 @@ class OperationConnectorsApi: :type id: str :param request_body: List of connector IDs to assign to the operation. (required) :type request_body: List[str] + :param confirm_disabled_objects: Confirmation to disable affected objects (for example, tests) for credential-vault operations. + :type confirm_disabled_objects: bool :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str :param _request_timeout: timeout setting for this request. If one @@ -580,6 +591,7 @@ class OperationConnectorsApi: type=type, id=id, request_body=request_body, + confirm_disabled_objects=confirm_disabled_objects, aid=aid, _request_auth=_request_auth, _content_type=_content_type, @@ -588,11 +600,11 @@ class OperationConnectorsApi: ) _response_types_map: Dict[str, Optional[str]] = { - '404': "Error", '200': "Assignments", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", + '404': "Error", '500': "Error", } response_data = self.api_client.call_api( @@ -607,6 +619,7 @@ class OperationConnectorsApi: type, id, request_body, + confirm_disabled_objects, aid, _request_auth, _content_type, @@ -633,6 +646,10 @@ class OperationConnectorsApi: if id is not None: _path_params['id'] = id # process the query parameters + if confirm_disabled_objects is not None: + + _query_params.append(('confirmDisabledObjects', confirm_disabled_objects)) + if aid is not None: _query_params.append(('aid', aid)) @@ -647,9 +664,9 @@ class OperationConnectorsApi: # set the HTTP header `Accept` _header_params['Accept'] = self.api_client.select_header_accept( [ - 'application/problem+json', 'application/hal+json', - 'application/json' + 'application/json', + 'application/problem+json' ] ) diff --git a/thousandeyes-sdk-connectors/src/thousandeyes_sdk/connectors/models/__init__.py b/thousandeyes-sdk-connectors/src/thousandeyes_sdk/connectors/models/__init__.py index 4327e0c2..1120f965 100644 --- a/thousandeyes-sdk-connectors/src/thousandeyes_sdk/connectors/models/__init__.py +++ b/thousandeyes-sdk-connectors/src/thousandeyes_sdk/connectors/models/__init__.py @@ -17,7 +17,13 @@ from thousandeyes_sdk.connectors.models.assignments import Assignments from thousandeyes_sdk.connectors.models.authentication_type import AuthenticationType from thousandeyes_sdk.connectors.models.basic_authentication import BasicAuthentication from thousandeyes_sdk.connectors.models.bearer_token_authentication import BearerTokenAuthentication +from thousandeyes_sdk.connectors.models.conjur_connector import ConjurConnector +from thousandeyes_sdk.connectors.models.conjur_connectors import ConjurConnectors +from thousandeyes_sdk.connectors.models.conjur_host_authentication import ConjurHostAuthentication from thousandeyes_sdk.connectors.models.connector_type import ConnectorType +from thousandeyes_sdk.connectors.models.credential_vault_operation import CredentialVaultOperation +from thousandeyes_sdk.connectors.models.credential_vault_operations import CredentialVaultOperations +from thousandeyes_sdk.connectors.models.credential_vault_secret import CredentialVaultSecret from thousandeyes_sdk.connectors.models.error import Error from thousandeyes_sdk.connectors.models.generic_connector import GenericConnector from thousandeyes_sdk.connectors.models.generic_connector_auth import GenericConnectorAuth diff --git a/thousandeyes-sdk-connectors/src/thousandeyes_sdk/connectors/models/conjur_connector.py b/thousandeyes-sdk-connectors/src/thousandeyes_sdk/connectors/models/conjur_connector.py new file mode 100644 index 00000000..ec44ca1b --- /dev/null +++ b/thousandeyes-sdk-connectors/src/thousandeyes_sdk/connectors/models/conjur_connector.py @@ -0,0 +1,114 @@ +# coding: utf-8 + +""" + Integrations API + + **Note:** The Webhook Operations APIs are not available for ThousandEyes for Government instance. Manage connectors and operations. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from thousandeyes_sdk.connectors.models.conjur_host_authentication import ConjurHostAuthentication +from thousandeyes_sdk.connectors.models.connector_type import ConnectorType +from thousandeyes_sdk.connectors.models.self_links import SelfLinks +from typing import Optional, Set +from typing_extensions import Self + +class ConjurConnector(BaseModel): + """ + ConjurConnector + """ # noqa: E501 + id: Optional[StrictStr] = None + type: ConnectorType + name: StrictStr + target: StrictStr + last_modified_date: Optional[StrictInt] = Field(default=None, description="The date when the connector was last modified (Unix timestamp in milliseconds).", alias="lastModifiedDate") + account: StrictStr + authentication: ConjurHostAuthentication + links: Optional[SelfLinks] = Field(default=None, alias="_links") + __properties: ClassVar[List[str]] = ["id", "type", "name", "target", "lastModifiedDate", "account", "authentication", "_links"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + extra="allow", + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return self.model_dump_json(by_alias=True, exclude_unset=True, exclude_none=True) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ConjurConnector from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "id", + "last_modified_date", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of authentication + if self.authentication: + _dict['authentication'] = self.authentication.to_dict() + # override the default output from pydantic by calling `to_dict()` of links + if self.links: + _dict['_links'] = self.links.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ConjurConnector from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "type": obj.get("type"), + "name": obj.get("name"), + "target": obj.get("target"), + "lastModifiedDate": obj.get("lastModifiedDate"), + "account": obj.get("account"), + "authentication": ConjurHostAuthentication.from_dict(obj["authentication"]) if obj.get("authentication") is not None else None, + "_links": SelfLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None + }) + return _obj + + diff --git a/thousandeyes-sdk-connectors/src/thousandeyes_sdk/connectors/models/conjur_connectors.py b/thousandeyes-sdk-connectors/src/thousandeyes_sdk/connectors/models/conjur_connectors.py new file mode 100644 index 00000000..571e077d --- /dev/null +++ b/thousandeyes-sdk-connectors/src/thousandeyes_sdk/connectors/models/conjur_connectors.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + Integrations API + + **Note:** The Webhook Operations APIs are not available for ThousandEyes for Government instance. Manage connectors and operations. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from thousandeyes_sdk.connectors.models.conjur_connector import ConjurConnector +from thousandeyes_sdk.connectors.models.self_links import SelfLinks +from typing import Optional, Set +from typing_extensions import Self + +class ConjurConnectors(BaseModel): + """ + ConjurConnectors + """ # noqa: E501 + items: Optional[List[ConjurConnector]] = None + links: Optional[SelfLinks] = Field(default=None, alias="_links") + __properties: ClassVar[List[str]] = ["items", "_links"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + extra="allow", + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return self.model_dump_json(by_alias=True, exclude_unset=True, exclude_none=True) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ConjurConnectors from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in items (list) + _items = [] + if self.items: + for _item in self.items: + if _item: + _items.append(_item.to_dict()) + _dict['items'] = _items + # override the default output from pydantic by calling `to_dict()` of links + if self.links: + _dict['_links'] = self.links.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ConjurConnectors from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "items": [ConjurConnector.from_dict(_item) for _item in obj["items"]] if obj.get("items") is not None else None, + "_links": SelfLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None + }) + return _obj + + diff --git a/thousandeyes-sdk-connectors/src/thousandeyes_sdk/connectors/models/conjur_host_authentication.py b/thousandeyes-sdk-connectors/src/thousandeyes_sdk/connectors/models/conjur_host_authentication.py new file mode 100644 index 00000000..534c5a58 --- /dev/null +++ b/thousandeyes-sdk-connectors/src/thousandeyes_sdk/connectors/models/conjur_host_authentication.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + Integrations API + + **Note:** The Webhook Operations APIs are not available for ThousandEyes for Government instance. Manage connectors and operations. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List +from thousandeyes_sdk.connectors.models.authentication_type import AuthenticationType +from typing import Optional, Set +from typing_extensions import Self + +class ConjurHostAuthentication(BaseModel): + """ + ConjurHostAuthentication + """ # noqa: E501 + host_id: StrictStr = Field(alias="hostId") + api_key: StrictStr = Field(alias="apiKey") + type: AuthenticationType + __properties: ClassVar[List[str]] = ["hostId", "apiKey", "type"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + extra="allow", + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return self.model_dump_json(by_alias=True, exclude_unset=True, exclude_none=True) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ConjurHostAuthentication from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ConjurHostAuthentication from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "hostId": obj.get("hostId"), + "apiKey": obj.get("apiKey"), + "type": obj.get("type") + }) + return _obj + + diff --git a/thousandeyes-sdk-connectors/src/thousandeyes_sdk/connectors/models/credential_vault_operation.py b/thousandeyes-sdk-connectors/src/thousandeyes_sdk/connectors/models/credential_vault_operation.py new file mode 100644 index 00000000..ce453f15 --- /dev/null +++ b/thousandeyes-sdk-connectors/src/thousandeyes_sdk/connectors/models/credential_vault_operation.py @@ -0,0 +1,113 @@ +# coding: utf-8 + +""" + Integrations API + + **Note:** The Webhook Operations APIs are not available for ThousandEyes for Government instance. Manage connectors and operations. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from thousandeyes_sdk.connectors.models.credential_vault_secret import CredentialVaultSecret +from thousandeyes_sdk.connectors.models.operation_status import OperationStatus +from thousandeyes_sdk.connectors.models.operation_type import OperationType +from thousandeyes_sdk.connectors.models.self_links import SelfLinks +from typing import Optional, Set +from typing_extensions import Self + +class CredentialVaultOperation(BaseModel): + """ + CredentialVaultOperation + """ # noqa: E501 + id: Optional[StrictStr] = None + name: StrictStr + secrets: List[CredentialVaultSecret] + type: Optional[OperationType] = None + status: Optional[OperationStatus] = None + links: Optional[SelfLinks] = Field(default=None, alias="_links") + __properties: ClassVar[List[str]] = ["id", "name", "secrets", "type", "status", "_links"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + extra="allow", + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return self.model_dump_json(by_alias=True, exclude_unset=True, exclude_none=True) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CredentialVaultOperation from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "id", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in secrets (list) + _items = [] + if self.secrets: + for _item in self.secrets: + if _item: + _items.append(_item.to_dict()) + _dict['secrets'] = _items + # override the default output from pydantic by calling `to_dict()` of links + if self.links: + _dict['_links'] = self.links.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CredentialVaultOperation from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "name": obj.get("name"), + "secrets": [CredentialVaultSecret.from_dict(_item) for _item in obj["secrets"]] if obj.get("secrets") is not None else None, + "type": obj.get("type"), + "status": obj.get("status"), + "_links": SelfLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None + }) + return _obj + + diff --git a/thousandeyes-sdk-connectors/src/thousandeyes_sdk/connectors/models/credential_vault_operations.py b/thousandeyes-sdk-connectors/src/thousandeyes_sdk/connectors/models/credential_vault_operations.py new file mode 100644 index 00000000..46f9dd2e --- /dev/null +++ b/thousandeyes-sdk-connectors/src/thousandeyes_sdk/connectors/models/credential_vault_operations.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + Integrations API + + **Note:** The Webhook Operations APIs are not available for ThousandEyes for Government instance. Manage connectors and operations. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from thousandeyes_sdk.connectors.models.credential_vault_operation import CredentialVaultOperation +from thousandeyes_sdk.connectors.models.self_links import SelfLinks +from typing import Optional, Set +from typing_extensions import Self + +class CredentialVaultOperations(BaseModel): + """ + CredentialVaultOperations + """ # noqa: E501 + items: Optional[List[CredentialVaultOperation]] = None + links: Optional[SelfLinks] = Field(default=None, alias="_links") + __properties: ClassVar[List[str]] = ["items", "_links"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + extra="allow", + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return self.model_dump_json(by_alias=True, exclude_unset=True, exclude_none=True) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CredentialVaultOperations from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in items (list) + _items = [] + if self.items: + for _item in self.items: + if _item: + _items.append(_item.to_dict()) + _dict['items'] = _items + # override the default output from pydantic by calling `to_dict()` of links + if self.links: + _dict['_links'] = self.links.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CredentialVaultOperations from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "items": [CredentialVaultOperation.from_dict(_item) for _item in obj["items"]] if obj.get("items") is not None else None, + "_links": SelfLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None + }) + return _obj + + diff --git a/thousandeyes-sdk-connectors/src/thousandeyes_sdk/connectors/models/credential_vault_secret.py b/thousandeyes-sdk-connectors/src/thousandeyes_sdk/connectors/models/credential_vault_secret.py new file mode 100644 index 00000000..846dd8dc --- /dev/null +++ b/thousandeyes-sdk-connectors/src/thousandeyes_sdk/connectors/models/credential_vault_secret.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + Integrations API + + **Note:** The Webhook Operations APIs are not available for ThousandEyes for Government instance. Manage connectors and operations. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class CredentialVaultSecret(BaseModel): + """ + CredentialVaultSecret + """ # noqa: E501 + id: Optional[StrictStr] = None + name: StrictStr + secret_key: StrictStr = Field(alias="secretKey") + __properties: ClassVar[List[str]] = ["id", "name", "secretKey"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + extra="allow", + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return self.model_dump_json(by_alias=True, exclude_unset=True, exclude_none=True) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CredentialVaultSecret from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CredentialVaultSecret from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "name": obj.get("name"), + "secretKey": obj.get("secretKey") + }) + return _obj + + diff --git a/thousandeyes-sdk-connectors/src/thousandeyes_sdk/connectors/models/generic_connector.py b/thousandeyes-sdk-connectors/src/thousandeyes_sdk/connectors/models/generic_connector.py index 2ee74a8c..c0a11a8f 100644 --- a/thousandeyes-sdk-connectors/src/thousandeyes_sdk/connectors/models/generic_connector.py +++ b/thousandeyes-sdk-connectors/src/thousandeyes_sdk/connectors/models/generic_connector.py @@ -21,6 +21,7 @@ from typing import Any, ClassVar, Dict, List, Optional from thousandeyes_sdk.connectors.models.connector_type import ConnectorType from thousandeyes_sdk.connectors.models.generic_connector_auth import GenericConnectorAuth from thousandeyes_sdk.connectors.models.header import Header +from thousandeyes_sdk.connectors.models.self_links import SelfLinks from typing import Optional, Set from typing_extensions import Self @@ -32,10 +33,11 @@ class GenericConnector(BaseModel): type: ConnectorType name: StrictStr target: StrictStr - authentication: Optional[GenericConnectorAuth] = None last_modified_date: Optional[StrictInt] = Field(default=None, description="The date when the connector was last modified (Unix timestamp in milliseconds).", alias="lastModifiedDate") + authentication: Optional[GenericConnectorAuth] = None headers: Optional[List[Header]] = None - __properties: ClassVar[List[str]] = ["id", "type", "name", "target", "authentication", "lastModifiedDate", "headers"] + links: Optional[SelfLinks] = Field(default=None, alias="_links") + __properties: ClassVar[List[str]] = ["id", "type", "name", "target", "lastModifiedDate", "authentication", "headers", "_links"] model_config = ConfigDict( populate_by_name=True, @@ -91,6 +93,9 @@ class GenericConnector(BaseModel): if _item: _items.append(_item.to_dict()) _dict['headers'] = _items + # override the default output from pydantic by calling `to_dict()` of links + if self.links: + _dict['_links'] = self.links.to_dict() return _dict @classmethod @@ -107,9 +112,10 @@ class GenericConnector(BaseModel): "type": obj.get("type"), "name": obj.get("name"), "target": obj.get("target"), - "authentication": GenericConnectorAuth.from_dict(obj["authentication"]) if obj.get("authentication") is not None else None, "lastModifiedDate": obj.get("lastModifiedDate"), - "headers": [Header.from_dict(_item) for _item in obj["headers"]] if obj.get("headers") is not None else None + "authentication": GenericConnectorAuth.from_dict(obj["authentication"]) if obj.get("authentication") is not None else None, + "headers": [Header.from_dict(_item) for _item in obj["headers"]] if obj.get("headers") is not None else None, + "_links": SelfLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None }) return _obj diff --git a/thousandeyes-sdk-connectors/src/thousandeyes_sdk/connectors/models/header.py b/thousandeyes-sdk-connectors/src/thousandeyes_sdk/connectors/models/header.py index 73fad528..57b9b891 100644 --- a/thousandeyes-sdk-connectors/src/thousandeyes_sdk/connectors/models/header.py +++ b/thousandeyes-sdk-connectors/src/thousandeyes_sdk/connectors/models/header.py @@ -16,7 +16,7 @@ import pprint import re # noqa: F401 import json -from pydantic import BaseModel, ConfigDict, Field, StrictStr +from pydantic import BaseModel, ConfigDict, StrictStr from typing import Any, ClassVar, Dict, List from typing import Optional, Set from typing_extensions import Self @@ -26,7 +26,7 @@ class Header(BaseModel): Header """ # noqa: E501 name: StrictStr - value: StrictStr = Field(description="The value of the header. Note that this value is obfuscated in the response, even when overwritten.") + value: StrictStr __properties: ClassVar[List[str]] = ["name", "value"] model_config = ConfigDict( diff --git a/thousandeyes-sdk-connectors/src/thousandeyes_sdk/connectors/models/oauth_client_credentials_authentication.py b/thousandeyes-sdk-connectors/src/thousandeyes_sdk/connectors/models/oauth_client_credentials_authentication.py index f0b22c34..693dfcb8 100644 --- a/thousandeyes-sdk-connectors/src/thousandeyes_sdk/connectors/models/oauth_client_credentials_authentication.py +++ b/thousandeyes-sdk-connectors/src/thousandeyes_sdk/connectors/models/oauth_client_credentials_authentication.py @@ -30,8 +30,9 @@ class OauthClientCredentialsAuthentication(BaseModel): oauth_client_id: StrictStr = Field(alias="oauthClientId") oauth_token_url: StrictStr = Field(alias="oauthTokenUrl") oauth_client_secret: StrictStr = Field(alias="oauthClientSecret") + scope: Optional[StrictStr] = None type: AuthenticationType - __properties: ClassVar[List[str]] = ["token", "oauthClientId", "oauthTokenUrl", "oauthClientSecret", "type"] + __properties: ClassVar[List[str]] = ["token", "oauthClientId", "oauthTokenUrl", "oauthClientSecret", "scope", "type"] model_config = ConfigDict( populate_by_name=True, @@ -89,6 +90,7 @@ class OauthClientCredentialsAuthentication(BaseModel): "oauthClientId": obj.get("oauthClientId"), "oauthTokenUrl": obj.get("oauthTokenUrl"), "oauthClientSecret": obj.get("oauthClientSecret"), + "scope": obj.get("scope"), "type": obj.get("type") }) return _obj diff --git a/thousandeyes-sdk-connectors/test/test_credential_vault_operations_api.py b/thousandeyes-sdk-connectors/test/test_credential_vault_operations_api.py new file mode 100644 index 00000000..98599fb7 --- /dev/null +++ b/thousandeyes-sdk-connectors/test/test_credential_vault_operations_api.py @@ -0,0 +1,287 @@ +# coding: utf-8 + +""" + Integrations API + + **Note:** The Webhook Operations APIs are not available for ThousandEyes for Government instance. Manage connectors and operations. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import json +import unittest +import thousandeyes_sdk.connectors.models + +from .test_utils import assert_constructed_model_matches_example_json +from thousandeyes_sdk.connectors.api.credential_vault_operations_api import CredentialVaultOperationsApi + + +class TestCredentialVaultOperationsApi(unittest.TestCase): + """CredentialVaultOperationsApi unit test stubs""" + + def setUp(self) -> None: + self.api = CredentialVaultOperationsApi() + + def tearDown(self) -> None: + pass + + def test_create_credential_vault_operation_models_validation(self) -> None: + """Test case for create_credential_vault_operation request and response models""" + request_body_json = """ + { + "_links" : { + "self" : { + "hreflang" : "hreflang", + "templated" : true, + "profile" : "profile", + "name" : "name", + "href" : "https://api.thousandeyes.com/v7/link/to/resource/id", + "type" : "type", + "deprecation" : "deprecation", + "title" : "title" + } + }, + "name" : "My operation", + "id" : "cb1b8033-ea2d-4e9b-a920-fe87850693cf", + "type" : "webhook", + "secrets" : [ { + "secretKey" : "secret/key", + "name" : "secret_name", + "id" : "cb1b8033-ea2d-4e9b-a920-fe87850693cf" + }, { + "secretKey" : "secret/key", + "name" : "secret_name", + "id" : "cb1b8033-ea2d-4e9b-a920-fe87850693cf" + } ], + "status" : "pending" + } + """ + + request_loaded_json = json.loads(request_body_json) + request_from_json = thousandeyes_sdk.connectors.models.CredentialVaultOperation.from_json(request_body_json) + assert_constructed_model_matches_example_json(request_from_json, request_loaded_json) + + response_body_json = """ + { + "_links" : { + "self" : { + "hreflang" : "hreflang", + "templated" : true, + "profile" : "profile", + "name" : "name", + "href" : "https://api.thousandeyes.com/v7/link/to/resource/id", + "type" : "type", + "deprecation" : "deprecation", + "title" : "title" + } + }, + "name" : "My operation", + "id" : "cb1b8033-ea2d-4e9b-a920-fe87850693cf", + "type" : "webhook", + "secrets" : [ { + "secretKey" : "secret/key", + "name" : "secret_name", + "id" : "cb1b8033-ea2d-4e9b-a920-fe87850693cf" + }, { + "secretKey" : "secret/key", + "name" : "secret_name", + "id" : "cb1b8033-ea2d-4e9b-a920-fe87850693cf" + } ], + "status" : "pending" + }""" + + response_loaded_json = json.loads(response_body_json) + response_from_json = thousandeyes_sdk.connectors.models.CredentialVaultOperation.from_json(response_body_json) + assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) + + def test_delete_credential_vault_operation_models_validation(self) -> None: + """Test case for delete_credential_vault_operation request and response models""" + + + def test_get_credential_vault_operation_models_validation(self) -> None: + """Test case for get_credential_vault_operation request and response models""" + + response_body_json = """ + { + "_links" : { + "self" : { + "hreflang" : "hreflang", + "templated" : true, + "profile" : "profile", + "name" : "name", + "href" : "https://api.thousandeyes.com/v7/link/to/resource/id", + "type" : "type", + "deprecation" : "deprecation", + "title" : "title" + } + }, + "name" : "My operation", + "id" : "cb1b8033-ea2d-4e9b-a920-fe87850693cf", + "type" : "webhook", + "secrets" : [ { + "secretKey" : "secret/key", + "name" : "secret_name", + "id" : "cb1b8033-ea2d-4e9b-a920-fe87850693cf" + }, { + "secretKey" : "secret/key", + "name" : "secret_name", + "id" : "cb1b8033-ea2d-4e9b-a920-fe87850693cf" + } ], + "status" : "pending" + }""" + + response_loaded_json = json.loads(response_body_json) + response_from_json = thousandeyes_sdk.connectors.models.CredentialVaultOperation.from_json(response_body_json) + assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) + + def test_get_credential_vault_operations_models_validation(self) -> None: + """Test case for get_credential_vault_operations request and response models""" + + response_body_json = """ + { + "_links" : { + "self" : { + "hreflang" : "hreflang", + "templated" : true, + "profile" : "profile", + "name" : "name", + "href" : "https://api.thousandeyes.com/v7/link/to/resource/id", + "type" : "type", + "deprecation" : "deprecation", + "title" : "title" + } + }, + "items" : [ { + "_links" : { + "self" : { + "hreflang" : "hreflang", + "templated" : true, + "profile" : "profile", + "name" : "name", + "href" : "https://api.thousandeyes.com/v7/link/to/resource/id", + "type" : "type", + "deprecation" : "deprecation", + "title" : "title" + } + }, + "name" : "My operation", + "id" : "cb1b8033-ea2d-4e9b-a920-fe87850693cf", + "type" : "webhook", + "secrets" : [ { + "secretKey" : "secret/key", + "name" : "secret_name", + "id" : "cb1b8033-ea2d-4e9b-a920-fe87850693cf" + }, { + "secretKey" : "secret/key", + "name" : "secret_name", + "id" : "cb1b8033-ea2d-4e9b-a920-fe87850693cf" + } ], + "status" : "pending" + }, { + "_links" : { + "self" : { + "hreflang" : "hreflang", + "templated" : true, + "profile" : "profile", + "name" : "name", + "href" : "https://api.thousandeyes.com/v7/link/to/resource/id", + "type" : "type", + "deprecation" : "deprecation", + "title" : "title" + } + }, + "name" : "My operation", + "id" : "cb1b8033-ea2d-4e9b-a920-fe87850693cf", + "type" : "webhook", + "secrets" : [ { + "secretKey" : "secret/key", + "name" : "secret_name", + "id" : "cb1b8033-ea2d-4e9b-a920-fe87850693cf" + }, { + "secretKey" : "secret/key", + "name" : "secret_name", + "id" : "cb1b8033-ea2d-4e9b-a920-fe87850693cf" + } ], + "status" : "pending" + } ] + }""" + + response_loaded_json = json.loads(response_body_json) + response_from_json = thousandeyes_sdk.connectors.models.CredentialVaultOperations.from_json(response_body_json) + assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) + + def test_update_credential_vault_operation_models_validation(self) -> None: + """Test case for update_credential_vault_operation request and response models""" + request_body_json = """ + { + "_links" : { + "self" : { + "hreflang" : "hreflang", + "templated" : true, + "profile" : "profile", + "name" : "name", + "href" : "https://api.thousandeyes.com/v7/link/to/resource/id", + "type" : "type", + "deprecation" : "deprecation", + "title" : "title" + } + }, + "name" : "My operation", + "id" : "cb1b8033-ea2d-4e9b-a920-fe87850693cf", + "type" : "webhook", + "secrets" : [ { + "secretKey" : "secret/key", + "name" : "secret_name", + "id" : "cb1b8033-ea2d-4e9b-a920-fe87850693cf" + }, { + "secretKey" : "secret/key", + "name" : "secret_name", + "id" : "cb1b8033-ea2d-4e9b-a920-fe87850693cf" + } ], + "status" : "pending" + } + """ + + request_loaded_json = json.loads(request_body_json) + request_from_json = thousandeyes_sdk.connectors.models.CredentialVaultOperation.from_json(request_body_json) + assert_constructed_model_matches_example_json(request_from_json, request_loaded_json) + + response_body_json = """ + { + "_links" : { + "self" : { + "hreflang" : "hreflang", + "templated" : true, + "profile" : "profile", + "name" : "name", + "href" : "https://api.thousandeyes.com/v7/link/to/resource/id", + "type" : "type", + "deprecation" : "deprecation", + "title" : "title" + } + }, + "name" : "My operation", + "id" : "cb1b8033-ea2d-4e9b-a920-fe87850693cf", + "type" : "webhook", + "secrets" : [ { + "secretKey" : "secret/key", + "name" : "secret_name", + "id" : "cb1b8033-ea2d-4e9b-a920-fe87850693cf" + }, { + "secretKey" : "secret/key", + "name" : "secret_name", + "id" : "cb1b8033-ea2d-4e9b-a920-fe87850693cf" + } ], + "status" : "pending" + }""" + + response_loaded_json = json.loads(response_body_json) + response_from_json = thousandeyes_sdk.connectors.models.CredentialVaultOperation.from_json(response_body_json) + assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) + + +if __name__ == '__main__': + unittest.main() diff --git a/thousandeyes-sdk-connectors/test/test_cyber_ark_conjur_connectors_api.py b/thousandeyes-sdk-connectors/test/test_cyber_ark_conjur_connectors_api.py new file mode 100644 index 00000000..04625f7a --- /dev/null +++ b/thousandeyes-sdk-connectors/test/test_cyber_ark_conjur_connectors_api.py @@ -0,0 +1,328 @@ +# coding: utf-8 + +""" + Integrations API + + **Note:** The Webhook Operations APIs are not available for ThousandEyes for Government instance. Manage connectors and operations. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import json +import unittest +import thousandeyes_sdk.connectors.models + +from .test_utils import assert_constructed_model_matches_example_json +from thousandeyes_sdk.connectors.api.cyber_ark_conjur_connectors_api import CyberArkConjurConnectorsApi + + +class TestCyberArkConjurConnectorsApi(unittest.TestCase): + """CyberArkConjurConnectorsApi unit test stubs""" + + def setUp(self) -> None: + self.api = CyberArkConjurConnectorsApi() + + def tearDown(self) -> None: + pass + + def test_create_conjur_connector_models_validation(self) -> None: + """Test case for create_conjur_connector request and response models""" + request_body_json = """ + { + "lastModifiedDate" : 1770293655756, + "_links" : { + "self" : { + "hreflang" : "hreflang", + "templated" : true, + "profile" : "profile", + "name" : "name", + "href" : "https://api.thousandeyes.com/v7/link/to/resource/id", + "type" : "type", + "deprecation" : "deprecation", + "title" : "title" + } + }, + "name" : "Cisco Slack", + "id" : "cb1b8033-ea2d-4e9b-a920-fe87850693cf", + "type" : "generic", + "account" : "My CyberArk Account", + "target" : "https://eval.conjur.org/secrets", + "authentication" : { + "apiKey" : "abc123", + "hostId" : "host1", + "type" : "basic" + } + } + """ + + request_loaded_json = json.loads(request_body_json) + request_from_json = thousandeyes_sdk.connectors.models.ConjurConnector.from_json(request_body_json) + assert_constructed_model_matches_example_json(request_from_json, request_loaded_json) + + response_body_json = """ + { + "lastModifiedDate" : 1770293655756, + "_links" : { + "self" : { + "hreflang" : "hreflang", + "templated" : true, + "profile" : "profile", + "name" : "name", + "href" : "https://api.thousandeyes.com/v7/link/to/resource/id", + "type" : "type", + "deprecation" : "deprecation", + "title" : "title" + } + }, + "name" : "Cisco Slack", + "id" : "cb1b8033-ea2d-4e9b-a920-fe87850693cf", + "type" : "generic", + "account" : "My CyberArk Account", + "target" : "https://eval.conjur.org/secrets", + "authentication" : { + "apiKey" : "abc123", + "hostId" : "host1", + "type" : "basic" + } + }""" + + response_loaded_json = json.loads(response_body_json) + response_from_json = thousandeyes_sdk.connectors.models.ConjurConnector.from_json(response_body_json) + assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) + + def test_delete_conjur_connector_models_validation(self) -> None: + """Test case for delete_conjur_connector request and response models""" + + + def test_get_conjur_connector_models_validation(self) -> None: + """Test case for get_conjur_connector request and response models""" + + response_body_json = """ + { + "lastModifiedDate" : 1770293655756, + "_links" : { + "self" : { + "hreflang" : "hreflang", + "templated" : true, + "profile" : "profile", + "name" : "name", + "href" : "https://api.thousandeyes.com/v7/link/to/resource/id", + "type" : "type", + "deprecation" : "deprecation", + "title" : "title" + } + }, + "name" : "Cisco Slack", + "id" : "cb1b8033-ea2d-4e9b-a920-fe87850693cf", + "type" : "generic", + "account" : "My CyberArk Account", + "target" : "https://eval.conjur.org/secrets", + "authentication" : { + "apiKey" : "abc123", + "hostId" : "host1", + "type" : "basic" + } + }""" + + response_loaded_json = json.loads(response_body_json) + response_from_json = thousandeyes_sdk.connectors.models.ConjurConnector.from_json(response_body_json) + assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) + + def test_get_conjur_connector_operations_models_validation(self) -> None: + """Test case for get_conjur_connector_operations request and response models""" + + response_body_json = """ + { + "_links" : { + "self" : { + "hreflang" : "hreflang", + "templated" : true, + "profile" : "profile", + "name" : "name", + "href" : "https://api.thousandeyes.com/v7/link/to/resource/id", + "type" : "type", + "deprecation" : "deprecation", + "title" : "title" + } + }, + "items" : [ "ca39314d-eb4f-496f-9435-b5d20b1bfbff", "ca39314d-eb4f-496f-9435-b5d20b1bfbff" ] + }""" + + response_loaded_json = json.loads(response_body_json) + response_from_json = thousandeyes_sdk.connectors.models.Assignments.from_json(response_body_json) + assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) + + def test_get_conjur_connectors_models_validation(self) -> None: + """Test case for get_conjur_connectors request and response models""" + + response_body_json = """ + { + "_links" : { + "self" : { + "hreflang" : "hreflang", + "templated" : true, + "profile" : "profile", + "name" : "name", + "href" : "https://api.thousandeyes.com/v7/link/to/resource/id", + "type" : "type", + "deprecation" : "deprecation", + "title" : "title" + } + }, + "items" : [ { + "lastModifiedDate" : 1770293655756, + "_links" : { + "self" : { + "hreflang" : "hreflang", + "templated" : true, + "profile" : "profile", + "name" : "name", + "href" : "https://api.thousandeyes.com/v7/link/to/resource/id", + "type" : "type", + "deprecation" : "deprecation", + "title" : "title" + } + }, + "name" : "Cisco Slack", + "id" : "cb1b8033-ea2d-4e9b-a920-fe87850693cf", + "type" : "generic", + "account" : "My CyberArk Account", + "target" : "https://eval.conjur.org/secrets", + "authentication" : { + "apiKey" : "abc123", + "hostId" : "host1", + "type" : "basic" + } + }, { + "lastModifiedDate" : 1770293655756, + "_links" : { + "self" : { + "hreflang" : "hreflang", + "templated" : true, + "profile" : "profile", + "name" : "name", + "href" : "https://api.thousandeyes.com/v7/link/to/resource/id", + "type" : "type", + "deprecation" : "deprecation", + "title" : "title" + } + }, + "name" : "Cisco Slack", + "id" : "cb1b8033-ea2d-4e9b-a920-fe87850693cf", + "type" : "generic", + "account" : "My CyberArk Account", + "target" : "https://eval.conjur.org/secrets", + "authentication" : { + "apiKey" : "abc123", + "hostId" : "host1", + "type" : "basic" + } + } ] + }""" + + response_loaded_json = json.loads(response_body_json) + response_from_json = thousandeyes_sdk.connectors.models.ConjurConnectors.from_json(response_body_json) + assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) + + def test_set_conjur_connector_operations_models_validation(self) -> None: + """Test case for set_conjur_connector_operations request and response models""" + request_body_json = """ + ["ca39314d-eb4f-496f-9435-b5d20b1bfbff","a32cfbab-32f6-41d8-9027-7127cba965dd"] + """ + + request_loaded_json = json.loads(request_body_json) + request_from_json = json.loads(request_body_json) + self.assertEqual(request_from_json, request_loaded_json) + + response_body_json = """ + { + "_links" : { + "self" : { + "hreflang" : "hreflang", + "templated" : true, + "profile" : "profile", + "name" : "name", + "href" : "https://api.thousandeyes.com/v7/link/to/resource/id", + "type" : "type", + "deprecation" : "deprecation", + "title" : "title" + } + }, + "items" : [ "ca39314d-eb4f-496f-9435-b5d20b1bfbff", "ca39314d-eb4f-496f-9435-b5d20b1bfbff" ] + }""" + + response_loaded_json = json.loads(response_body_json) + response_from_json = thousandeyes_sdk.connectors.models.Assignments.from_json(response_body_json) + assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) + + def test_update_conjur_connector_models_validation(self) -> None: + """Test case for update_conjur_connector request and response models""" + request_body_json = """ + { + "lastModifiedDate" : 1770293655756, + "_links" : { + "self" : { + "hreflang" : "hreflang", + "templated" : true, + "profile" : "profile", + "name" : "name", + "href" : "https://api.thousandeyes.com/v7/link/to/resource/id", + "type" : "type", + "deprecation" : "deprecation", + "title" : "title" + } + }, + "name" : "Cisco Slack", + "id" : "cb1b8033-ea2d-4e9b-a920-fe87850693cf", + "type" : "generic", + "account" : "My CyberArk Account", + "target" : "https://eval.conjur.org/secrets", + "authentication" : { + "apiKey" : "abc123", + "hostId" : "host1", + "type" : "basic" + } + } + """ + + request_loaded_json = json.loads(request_body_json) + request_from_json = thousandeyes_sdk.connectors.models.ConjurConnector.from_json(request_body_json) + assert_constructed_model_matches_example_json(request_from_json, request_loaded_json) + + response_body_json = """ + { + "lastModifiedDate" : 1770293655756, + "_links" : { + "self" : { + "hreflang" : "hreflang", + "templated" : true, + "profile" : "profile", + "name" : "name", + "href" : "https://api.thousandeyes.com/v7/link/to/resource/id", + "type" : "type", + "deprecation" : "deprecation", + "title" : "title" + } + }, + "name" : "Cisco Slack", + "id" : "cb1b8033-ea2d-4e9b-a920-fe87850693cf", + "type" : "generic", + "account" : "My CyberArk Account", + "target" : "https://eval.conjur.org/secrets", + "authentication" : { + "apiKey" : "abc123", + "hostId" : "host1", + "type" : "basic" + } + }""" + + response_loaded_json = json.loads(response_body_json) + response_from_json = thousandeyes_sdk.connectors.models.ConjurConnector.from_json(response_body_json) + assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) + + +if __name__ == '__main__': + unittest.main() diff --git a/thousandeyes-sdk-connectors/test/test_generic_connectors_api.py b/thousandeyes-sdk-connectors/test/test_generic_connectors_api.py index 51053a49..b6596925 100644 --- a/thousandeyes-sdk-connectors/test/test_generic_connectors_api.py +++ b/thousandeyes-sdk-connectors/test/test_generic_connectors_api.py @@ -40,6 +40,18 @@ class TestGenericConnectorsApi(unittest.TestCase): "value" : "application/json" } ], "lastModifiedDate" : 1770293655756, + "_links" : { + "self" : { + "hreflang" : "hreflang", + "templated" : true, + "profile" : "profile", + "name" : "name", + "href" : "https://api.thousandeyes.com/v7/link/to/resource/id", + "type" : "type", + "deprecation" : "deprecation", + "title" : "title" + } + }, "name" : "Cisco Slack", "id" : "cb1b8033-ea2d-4e9b-a920-fe87850693cf", "type" : "generic", @@ -66,6 +78,18 @@ class TestGenericConnectorsApi(unittest.TestCase): "value" : "application/json" } ], "lastModifiedDate" : 1770293655756, + "_links" : { + "self" : { + "hreflang" : "hreflang", + "templated" : true, + "profile" : "profile", + "name" : "name", + "href" : "https://api.thousandeyes.com/v7/link/to/resource/id", + "type" : "type", + "deprecation" : "deprecation", + "title" : "title" + } + }, "name" : "Cisco Slack", "id" : "cb1b8033-ea2d-4e9b-a920-fe87850693cf", "type" : "generic", @@ -98,6 +122,18 @@ class TestGenericConnectorsApi(unittest.TestCase): "value" : "application/json" } ], "lastModifiedDate" : 1770293655756, + "_links" : { + "self" : { + "hreflang" : "hreflang", + "templated" : true, + "profile" : "profile", + "name" : "name", + "href" : "https://api.thousandeyes.com/v7/link/to/resource/id", + "type" : "type", + "deprecation" : "deprecation", + "title" : "title" + } + }, "name" : "Cisco Slack", "id" : "cb1b8033-ea2d-4e9b-a920-fe87850693cf", "type" : "generic", @@ -139,6 +175,18 @@ class TestGenericConnectorsApi(unittest.TestCase): "value" : "application/json" } ], "lastModifiedDate" : 1770293655756, + "_links" : { + "self" : { + "hreflang" : "hreflang", + "templated" : true, + "profile" : "profile", + "name" : "name", + "href" : "https://api.thousandeyes.com/v7/link/to/resource/id", + "type" : "type", + "deprecation" : "deprecation", + "title" : "title" + } + }, "name" : "Cisco Slack", "id" : "cb1b8033-ea2d-4e9b-a920-fe87850693cf", "type" : "generic", @@ -157,6 +205,18 @@ class TestGenericConnectorsApi(unittest.TestCase): "value" : "application/json" } ], "lastModifiedDate" : 1770293655756, + "_links" : { + "self" : { + "hreflang" : "hreflang", + "templated" : true, + "profile" : "profile", + "name" : "name", + "href" : "https://api.thousandeyes.com/v7/link/to/resource/id", + "type" : "type", + "deprecation" : "deprecation", + "title" : "title" + } + }, "name" : "Cisco Slack", "id" : "cb1b8033-ea2d-4e9b-a920-fe87850693cf", "type" : "generic", @@ -240,6 +300,18 @@ class TestGenericConnectorsApi(unittest.TestCase): "value" : "application/json" } ], "lastModifiedDate" : 1770293655756, + "_links" : { + "self" : { + "hreflang" : "hreflang", + "templated" : true, + "profile" : "profile", + "name" : "name", + "href" : "https://api.thousandeyes.com/v7/link/to/resource/id", + "type" : "type", + "deprecation" : "deprecation", + "title" : "title" + } + }, "name" : "Cisco Slack", "id" : "cb1b8033-ea2d-4e9b-a920-fe87850693cf", "type" : "generic", @@ -266,6 +338,18 @@ class TestGenericConnectorsApi(unittest.TestCase): "value" : "application/json" } ], "lastModifiedDate" : 1770293655756, + "_links" : { + "self" : { + "hreflang" : "hreflang", + "templated" : true, + "profile" : "profile", + "name" : "name", + "href" : "https://api.thousandeyes.com/v7/link/to/resource/id", + "type" : "type", + "deprecation" : "deprecation", + "title" : "title" + } + }, "name" : "Cisco Slack", "id" : "cb1b8033-ea2d-4e9b-a920-fe87850693cf", "type" : "generic", diff --git a/thousandeyes-sdk-connectors/test/test_webhook_operations_api.py b/thousandeyes-sdk-connectors/test/test_webhook_operations_api.py index 9eb30c68..3cdc7e1a 100644 --- a/thousandeyes-sdk-connectors/test/test_webhook_operations_api.py +++ b/thousandeyes-sdk-connectors/test/test_webhook_operations_api.py @@ -36,6 +36,9 @@ class TestWebhookOperationsApi(unittest.TestCase): "headers" : [ { "name" : "Content-Type", "value" : "application/json" + }, { + "name" : "Content-Type", + "value" : "application/json" } ], "payload" : "{\\"property1\\": {{numericVar}}, \\"property2\\": \\"{{stringVar}}\\"}", "queryParams" : "{\\"queryParam1\\":\\"{{stringVar}}\\"}", @@ -70,6 +73,9 @@ class TestWebhookOperationsApi(unittest.TestCase): "headers" : [ { "name" : "Content-Type", "value" : "application/json" + }, { + "name" : "Content-Type", + "value" : "application/json" } ], "payload" : "{\\"property1\\": {{numericVar}}, \\"property2\\": \\"{{stringVar}}\\"}", "queryParams" : "{\\"queryParam1\\":\\"{{stringVar}}\\"}", @@ -110,6 +116,9 @@ class TestWebhookOperationsApi(unittest.TestCase): "headers" : [ { "name" : "Content-Type", "value" : "application/json" + }, { + "name" : "Content-Type", + "value" : "application/json" } ], "payload" : "{\\"property1\\": {{numericVar}}, \\"property2\\": \\"{{stringVar}}\\"}", "queryParams" : "{\\"queryParam1\\":\\"{{stringVar}}\\"}", @@ -159,6 +168,9 @@ class TestWebhookOperationsApi(unittest.TestCase): "headers" : [ { "name" : "Content-Type", "value" : "application/json" + }, { + "name" : "Content-Type", + "value" : "application/json" } ], "payload" : "{\\"property1\\": {{numericVar}}, \\"property2\\": \\"{{stringVar}}\\"}", "queryParams" : "{\\"queryParam1\\":\\"{{stringVar}}\\"}", @@ -185,6 +197,9 @@ class TestWebhookOperationsApi(unittest.TestCase): "headers" : [ { "name" : "Content-Type", "value" : "application/json" + }, { + "name" : "Content-Type", + "value" : "application/json" } ], "payload" : "{\\"property1\\": {{numericVar}}, \\"property2\\": \\"{{stringVar}}\\"}", "queryParams" : "{\\"queryParam1\\":\\"{{stringVar}}\\"}", @@ -221,6 +236,9 @@ class TestWebhookOperationsApi(unittest.TestCase): "headers" : [ { "name" : "Content-Type", "value" : "application/json" + }, { + "name" : "Content-Type", + "value" : "application/json" } ], "payload" : "{\\"property1\\": {{numericVar}}, \\"property2\\": \\"{{stringVar}}\\"}", "queryParams" : "{\\"queryParam1\\":\\"{{stringVar}}\\"}", @@ -255,6 +273,9 @@ class TestWebhookOperationsApi(unittest.TestCase): "headers" : [ { "name" : "Content-Type", "value" : "application/json" + }, { + "name" : "Content-Type", + "value" : "application/json" } ], "payload" : "{\\"property1\\": {{numericVar}}, \\"property2\\": \\"{{stringVar}}\\"}", "queryParams" : "{\\"queryParam1\\":\\"{{stringVar}}\\"}", diff --git a/thousandeyes-sdk-credentials/README.md b/thousandeyes-sdk-credentials/README.md index 26417b82..5c037181 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.84 +- API version: 7.0.88 - Generator version: 7.6.0 - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator diff --git a/thousandeyes-sdk-dashboards/.openapi-generator/FILES b/thousandeyes-sdk-dashboards/.openapi-generator/FILES index 42766d44..21f2a290 100644 --- a/thousandeyes-sdk-dashboards/.openapi-generator/FILES +++ b/thousandeyes-sdk-dashboards/.openapi-generator/FILES @@ -10,8 +10,6 @@ docs/ApiAgentStatusAgent.md docs/ApiAgentStatusIpInfo.md docs/ApiAgentStatusSummary.md docs/ApiAgentStatusWidget.md -docs/ApiAgentWidgetShow.md -docs/ApiAgentWidgetType.md docs/ApiAggregateProperty.md docs/ApiAlertListAlert.md docs/ApiAlertListWidget.md @@ -59,8 +57,6 @@ docs/ApiWidgetDataSnapshotResponse.md docs/ApiWidgetFilterApiTestTableFilterKey.md docs/ApiWidgetFixedYScalePrefix.md docs/ApiWidgetMeasure.md -docs/ApiWidgetSortDirection.md -docs/ApiWidgetSortProperty.md docs/ApiWidgetsDataV2.md docs/AppAndSelfLinks.md docs/AswRepeat.md @@ -120,7 +116,6 @@ docs/VisualMode.md docs/Widget.md docs/WidgetMeasureType.md docs/WidgetPosition.md -docs/WidgetType.md pyproject.toml setup.cfg src/thousandeyes_sdk/dashboards/__init__.py @@ -138,8 +133,6 @@ src/thousandeyes_sdk/dashboards/models/api_agent_status_agent.py src/thousandeyes_sdk/dashboards/models/api_agent_status_ip_info.py src/thousandeyes_sdk/dashboards/models/api_agent_status_summary.py src/thousandeyes_sdk/dashboards/models/api_agent_status_widget.py -src/thousandeyes_sdk/dashboards/models/api_agent_widget_show.py -src/thousandeyes_sdk/dashboards/models/api_agent_widget_type.py src/thousandeyes_sdk/dashboards/models/api_aggregate_property.py src/thousandeyes_sdk/dashboards/models/api_alert_list_alert.py src/thousandeyes_sdk/dashboards/models/api_alert_list_widget.py @@ -187,8 +180,6 @@ src/thousandeyes_sdk/dashboards/models/api_widget_data_snapshot_response.py src/thousandeyes_sdk/dashboards/models/api_widget_filter_api_test_table_filter_key.py src/thousandeyes_sdk/dashboards/models/api_widget_fixed_y_scale_prefix.py src/thousandeyes_sdk/dashboards/models/api_widget_measure.py -src/thousandeyes_sdk/dashboards/models/api_widget_sort_direction.py -src/thousandeyes_sdk/dashboards/models/api_widget_sort_property.py src/thousandeyes_sdk/dashboards/models/api_widgets_data_v2.py src/thousandeyes_sdk/dashboards/models/app_and_self_links.py src/thousandeyes_sdk/dashboards/models/asw_repeat.py @@ -245,7 +236,6 @@ src/thousandeyes_sdk/dashboards/models/visual_mode.py src/thousandeyes_sdk/dashboards/models/widget.py src/thousandeyes_sdk/dashboards/models/widget_measure_type.py src/thousandeyes_sdk/dashboards/models/widget_position.py -src/thousandeyes_sdk/dashboards/models/widget_type.py src/thousandeyes_sdk/dashboards/py.typed test/__init__.py test/test_dashboard_snapshots_api.py diff --git a/thousandeyes-sdk-dashboards/README.md b/thousandeyes-sdk-dashboards/README.md index b989cc9d..ccb3bda7 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.84 +- API version: 7.0.88 - Generator version: 7.6.0 - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator @@ -127,8 +127,6 @@ Class | Method | HTTP request | Description - [ApiAgentStatusIpInfo](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/ApiAgentStatusIpInfo.md) - [ApiAgentStatusSummary](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/ApiAgentStatusSummary.md) - [ApiAgentStatusWidget](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/ApiAgentStatusWidget.md) - - [ApiAgentWidgetShow](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/ApiAgentWidgetShow.md) - - [ApiAgentWidgetType](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/ApiAgentWidgetType.md) - [ApiAggregateProperty](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/ApiAggregateProperty.md) - [ApiAlertListAlert](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/ApiAlertListAlert.md) - [ApiAlertListWidget](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/ApiAlertListWidget.md) @@ -176,8 +174,6 @@ Class | Method | HTTP request | Description - [ApiWidgetFilterApiTestTableFilterKey](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/ApiWidgetFilterApiTestTableFilterKey.md) - [ApiWidgetFixedYScalePrefix](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/ApiWidgetFixedYScalePrefix.md) - [ApiWidgetMeasure](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/ApiWidgetMeasure.md) - - [ApiWidgetSortDirection](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/ApiWidgetSortDirection.md) - - [ApiWidgetSortProperty](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/ApiWidgetSortProperty.md) - [ApiWidgetsDataV2](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/ApiWidgetsDataV2.md) - [AppAndSelfLinks](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/AppAndSelfLinks.md) - [AswRepeat](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/AswRepeat.md) @@ -234,7 +230,6 @@ Class | Method | HTTP request | Description - [Widget](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/Widget.md) - [WidgetMeasureType](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/WidgetMeasureType.md) - [WidgetPosition](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/WidgetPosition.md) - - [WidgetType](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/WidgetType.md) diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/__init__.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/__init__.py index c7eb34b6..06209f42 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/__init__.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/__init__.py @@ -29,8 +29,6 @@ from thousandeyes_sdk.dashboards.models.api_agent_status_agent import ApiAgentSt from thousandeyes_sdk.dashboards.models.api_agent_status_ip_info import ApiAgentStatusIpInfo from thousandeyes_sdk.dashboards.models.api_agent_status_summary import ApiAgentStatusSummary from thousandeyes_sdk.dashboards.models.api_agent_status_widget import ApiAgentStatusWidget -from thousandeyes_sdk.dashboards.models.api_agent_widget_show import ApiAgentWidgetShow -from thousandeyes_sdk.dashboards.models.api_agent_widget_type import ApiAgentWidgetType from thousandeyes_sdk.dashboards.models.api_aggregate_property import ApiAggregateProperty from thousandeyes_sdk.dashboards.models.api_alert_list_alert import ApiAlertListAlert from thousandeyes_sdk.dashboards.models.api_alert_list_widget import ApiAlertListWidget @@ -78,8 +76,6 @@ from thousandeyes_sdk.dashboards.models.api_widget_data_snapshot_response import from thousandeyes_sdk.dashboards.models.api_widget_filter_api_test_table_filter_key import ApiWidgetFilterApiTestTableFilterKey from thousandeyes_sdk.dashboards.models.api_widget_fixed_y_scale_prefix import ApiWidgetFixedYScalePrefix from thousandeyes_sdk.dashboards.models.api_widget_measure import ApiWidgetMeasure -from thousandeyes_sdk.dashboards.models.api_widget_sort_direction import ApiWidgetSortDirection -from thousandeyes_sdk.dashboards.models.api_widget_sort_property import ApiWidgetSortProperty from thousandeyes_sdk.dashboards.models.api_widgets_data_v2 import ApiWidgetsDataV2 from thousandeyes_sdk.dashboards.models.app_and_self_links import AppAndSelfLinks from thousandeyes_sdk.dashboards.models.asw_repeat import AswRepeat @@ -136,4 +132,3 @@ from thousandeyes_sdk.dashboards.models.visual_mode import VisualMode from thousandeyes_sdk.dashboards.models.widget import Widget from thousandeyes_sdk.dashboards.models.widget_measure_type import WidgetMeasureType from thousandeyes_sdk.dashboards.models.widget_position import WidgetPosition -from thousandeyes_sdk.dashboards.models.widget_type import WidgetType diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/__init__.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/__init__.py index d13ae09f..db3010c3 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/__init__.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/__init__.py @@ -22,8 +22,6 @@ from thousandeyes_sdk.dashboards.models.api_agent_status_agent import ApiAgentSt from thousandeyes_sdk.dashboards.models.api_agent_status_ip_info import ApiAgentStatusIpInfo from thousandeyes_sdk.dashboards.models.api_agent_status_summary import ApiAgentStatusSummary from thousandeyes_sdk.dashboards.models.api_agent_status_widget import ApiAgentStatusWidget -from thousandeyes_sdk.dashboards.models.api_agent_widget_show import ApiAgentWidgetShow -from thousandeyes_sdk.dashboards.models.api_agent_widget_type import ApiAgentWidgetType from thousandeyes_sdk.dashboards.models.api_aggregate_property import ApiAggregateProperty from thousandeyes_sdk.dashboards.models.api_alert_list_alert import ApiAlertListAlert from thousandeyes_sdk.dashboards.models.api_alert_list_widget import ApiAlertListWidget @@ -71,8 +69,6 @@ from thousandeyes_sdk.dashboards.models.api_widget_data_snapshot_response import from thousandeyes_sdk.dashboards.models.api_widget_filter_api_test_table_filter_key import ApiWidgetFilterApiTestTableFilterKey from thousandeyes_sdk.dashboards.models.api_widget_fixed_y_scale_prefix import ApiWidgetFixedYScalePrefix from thousandeyes_sdk.dashboards.models.api_widget_measure import ApiWidgetMeasure -from thousandeyes_sdk.dashboards.models.api_widget_sort_direction import ApiWidgetSortDirection -from thousandeyes_sdk.dashboards.models.api_widget_sort_property import ApiWidgetSortProperty from thousandeyes_sdk.dashboards.models.api_widgets_data_v2 import ApiWidgetsDataV2 from thousandeyes_sdk.dashboards.models.app_and_self_links import AppAndSelfLinks from thousandeyes_sdk.dashboards.models.asw_repeat import AswRepeat @@ -129,4 +125,3 @@ from thousandeyes_sdk.dashboards.models.visual_mode import VisualMode from thousandeyes_sdk.dashboards.models.widget import Widget from thousandeyes_sdk.dashboards.models.widget_measure_type import WidgetMeasureType from thousandeyes_sdk.dashboards.models.widget_position import WidgetPosition -from thousandeyes_sdk.dashboards.models.widget_type import WidgetType diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_aggregate_property.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_aggregate_property.py index 11358a61..f075ab75 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_aggregate_property.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_aggregate_property.py @@ -41,6 +41,7 @@ class ApiAggregateProperty(str, Enum): TEST_LABEL = 'TEST_LABEL' TEST_TAG = 'TEST_TAG' AGENT_LABEL = 'AGENT_LABEL' + AGENT_TAG = 'AGENT_TAG' TRANSACTION_STEP = 'TRANSACTION_STEP' TRANSACTION_PAGE = 'TRANSACTION_PAGE' WEB_TRANSACTION_MARKER = 'WEB_TRANSACTION_MARKER' @@ -101,6 +102,7 @@ class ApiAggregateProperty(str, Enum): EYEBROW_ORG_NAME = 'EYEBROW_ORG_NAME' EYEBROW_USER = 'EYEBROW_USER' EYEBROW_AGENT = 'EYEBROW_AGENT' + EYEBROW_AGENT_TAG = 'EYEBROW_AGENT_TAG' EYEBROW_COMPUTER_NAME = 'EYEBROW_COMPUTER_NAME' CLOUD_NATIVE_MONITORING_MINUS_ALL = 'CLOUD_NATIVE_MONITORING-ALL' CLOUD_NATIVE_MONITORING_MINUS_ACCOUNT = 'CLOUD_NATIVE_MONITORING-ACCOUNT' diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_widget_sort_property.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_widget_sort_property.py deleted file mode 100644 index c3a73ee1..00000000 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_widget_sort_property.py +++ /dev/null @@ -1,41 +0,0 @@ -# coding: utf-8 - -""" - Dashboards API - - Manage ThousandEyes Dashboards. - - Generated by OpenAPI Generator (https://openapi-generator.tech) - - Do not edit the class manually. -""" # noqa: E501 - - -from __future__ import annotations -import json -from enum import Enum -from typing_extensions import Self - - -class ApiWidgetSortProperty(str, Enum): - """ - Determines the card sorting criterion. - """ - - """ - allowed enum values - """ - ALPHABETICAL = 'alphabetical' - VALUE = 'value' - UNKNOWN = 'unknown' - - @classmethod - def from_json(cls, json_str: str) -> Self: - """Create an instance of ApiWidgetSortProperty from a JSON string""" - return cls(json.loads(json_str)) - - @classmethod - def _missing_(cls, value): - """Handle unknown values""" - return cls.UNKNOWN - diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/widget_type.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/widget_type.py deleted file mode 100644 index 80aac869..00000000 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/widget_type.py +++ /dev/null @@ -1,54 +0,0 @@ -# coding: utf-8 - -""" - Dashboards API - - Manage ThousandEyes Dashboards. - - Generated by OpenAPI Generator (https://openapi-generator.tech) - - Do not edit the class manually. -""" # noqa: E501 - - -from __future__ import annotations -import json -from enum import Enum -from typing_extensions import Self - - -class WidgetType(str, Enum): - """ - Type of the Widget - """ - - """ - allowed enum values - """ - BAR_CHART_COLON__STACKED = 'Bar Chart: Stacked' - BAR_CHART_COLON__GROUPED = 'Bar Chart: Grouped' - TIME_SERIES_COLON__LINE = 'Time Series: Line' - TIME_SERIES_COLON__STACKED_AREA = 'Time Series: Stacked Area' - PIE_CHART = 'Pie Chart' - TABLE = 'Table' - MULTI_METRIC_TABLE = 'Multi Metric Table' - NUMBER = 'Number' - AGENT_STATUS = 'Agent Status' - COLOR_GRID = 'Color Grid' - ALERT_LIST = 'Alert List' - LIST = 'List' - TEST_TABLE = 'Test Table' - MAP = 'Map' - BOX_AND_WHISKERS = 'Box and Whiskers' - UNKNOWN = 'unknown' - - @classmethod - def from_json(cls, json_str: str) -> Self: - """Create an instance of WidgetType from a JSON string""" - return cls(json.loads(json_str)) - - @classmethod - def _missing_(cls, value): - """Handle unknown values""" - return cls.UNKNOWN - diff --git a/thousandeyes-sdk-dashboards/test/test_dashboard_snapshots_api.py b/thousandeyes-sdk-dashboards/test/test_dashboard_snapshots_api.py index 99a39231..80c4c16e 100644 --- a/thousandeyes-sdk-dashboards/test/test_dashboard_snapshots_api.py +++ b/thousandeyes-sdk-dashboards/test/test_dashboard_snapshots_api.py @@ -130,7 +130,7 @@ class TestDashboardSnapshotsApi(unittest.TestCase): "type" : "Agent Status", "metricGroup" : "BGP", "measure" : { - "percentileValue" : 95.0, + "percentileValue" : 95, "type" : "MEAN" }, "apiLink" : "apiLink", @@ -167,7 +167,7 @@ class TestDashboardSnapshotsApi(unittest.TestCase): "type" : "Agent Status", "metricGroup" : "BGP", "measure" : { - "percentileValue" : 95.0, + "percentileValue" : 95, "type" : "MEAN" }, "apiLink" : "apiLink", @@ -247,7 +247,7 @@ class TestDashboardSnapshotsApi(unittest.TestCase): "type" : "Agent Status", "metricGroup" : "BGP", "measure" : { - "percentileValue" : 95.0, + "percentileValue" : 95, "type" : "MEAN" }, "apiLink" : "apiLink", @@ -284,7 +284,7 @@ class TestDashboardSnapshotsApi(unittest.TestCase): "type" : "Agent Status", "metricGroup" : "BGP", "measure" : { - "percentileValue" : 95.0, + "percentileValue" : 95, "type" : "MEAN" }, "apiLink" : "apiLink", @@ -434,8 +434,8 @@ class TestDashboardSnapshotsApi(unittest.TestCase): "startTimes" : [ "2023-05-16T10:14:28Z" ] } ], "binSize" : 3600, - "previousValue" : 500.0, - "value" : 100.0, + "previousValue" : 500, + "value" : 100, "startDate" : "2023-05-16T10:14:28Z", "timestamp" : 1567620000, "status" : "No data" @@ -476,8 +476,8 @@ class TestDashboardSnapshotsApi(unittest.TestCase): "startTimes" : [ "2023-05-16T10:14:28Z" ] } ], "binSize" : 3600, - "previousValue" : 500.0, - "value" : 100.0, + "previousValue" : 500, + "value" : 100, "startDate" : "2023-05-16T10:14:28Z", "timestamp" : 1567620000, "status" : "No data" @@ -582,7 +582,7 @@ class TestDashboardSnapshotsApi(unittest.TestCase): "groupProperty" : "COUNTRY", "groupValue" : "US" } ], - "value" : 100.0, + "value" : 100, "timestamp" : 1567620000 }, { "numberOfDataPoints" : 23304, @@ -593,7 +593,7 @@ class TestDashboardSnapshotsApi(unittest.TestCase): "groupProperty" : "COUNTRY", "groupValue" : "US" } ], - "value" : 100.0, + "value" : 100, "timestamp" : 1567620000 } ], "status" : "No data" @@ -640,7 +640,7 @@ class TestDashboardSnapshotsApi(unittest.TestCase): "groupProperty" : "COUNTRY", "groupValue" : "US" } ], - "value" : 100.0, + "value" : 100, "timestamp" : 1567620000 }, { "numberOfDataPoints" : 23304, @@ -651,7 +651,7 @@ class TestDashboardSnapshotsApi(unittest.TestCase): "groupProperty" : "COUNTRY", "groupValue" : "US" } ], - "value" : 100.0, + "value" : 100, "timestamp" : 1567620000 } ], "status" : "No data" @@ -686,7 +686,7 @@ class TestDashboardSnapshotsApi(unittest.TestCase): "groupProperty" : "COUNTRY", "groupValue" : "US" } ], - "value" : 100.0, + "value" : 100, "timestamp" : 1567620000 }, { "numberOfDataPoints" : 23304, @@ -697,7 +697,7 @@ class TestDashboardSnapshotsApi(unittest.TestCase): "groupProperty" : "COUNTRY", "groupValue" : "US" } ], - "value" : 100.0, + "value" : 100, "timestamp" : 1567620000 } ], "agents" : [ { @@ -849,7 +849,7 @@ class TestDashboardSnapshotsApi(unittest.TestCase): "type" : "Agent Status", "metricGroup" : "BGP", "measure" : { - "percentileValue" : 95.0, + "percentileValue" : 95, "type" : "MEAN" }, "apiLink" : "apiLink", @@ -886,7 +886,7 @@ class TestDashboardSnapshotsApi(unittest.TestCase): "type" : "Agent Status", "metricGroup" : "BGP", "measure" : { - "percentileValue" : 95.0, + "percentileValue" : 95, "type" : "MEAN" }, "apiLink" : "apiLink", @@ -966,7 +966,7 @@ class TestDashboardSnapshotsApi(unittest.TestCase): "type" : "Agent Status", "metricGroup" : "BGP", "measure" : { - "percentileValue" : 95.0, + "percentileValue" : 95, "type" : "MEAN" }, "apiLink" : "apiLink", @@ -1003,7 +1003,7 @@ class TestDashboardSnapshotsApi(unittest.TestCase): "type" : "Agent Status", "metricGroup" : "BGP", "measure" : { - "percentileValue" : 95.0, + "percentileValue" : 95, "type" : "MEAN" }, "apiLink" : "apiLink", @@ -1113,7 +1113,7 @@ class TestDashboardSnapshotsApi(unittest.TestCase): "type" : "Agent Status", "metricGroup" : "BGP", "measure" : { - "percentileValue" : 95.0, + "percentileValue" : 95, "type" : "MEAN" }, "apiLink" : "apiLink", @@ -1150,7 +1150,7 @@ class TestDashboardSnapshotsApi(unittest.TestCase): "type" : "Agent Status", "metricGroup" : "BGP", "measure" : { - "percentileValue" : 95.0, + "percentileValue" : 95, "type" : "MEAN" }, "apiLink" : "apiLink", @@ -1230,7 +1230,7 @@ class TestDashboardSnapshotsApi(unittest.TestCase): "type" : "Agent Status", "metricGroup" : "BGP", "measure" : { - "percentileValue" : 95.0, + "percentileValue" : 95, "type" : "MEAN" }, "apiLink" : "apiLink", @@ -1267,7 +1267,7 @@ class TestDashboardSnapshotsApi(unittest.TestCase): "type" : "Agent Status", "metricGroup" : "BGP", "measure" : { - "percentileValue" : 95.0, + "percentileValue" : 95, "type" : "MEAN" }, "apiLink" : "apiLink", diff --git a/thousandeyes-sdk-dashboards/test/test_dashboards_api.py b/thousandeyes-sdk-dashboards/test/test_dashboards_api.py index 3931d469..c78d6db1 100644 --- a/thousandeyes-sdk-dashboards/test/test_dashboards_api.py +++ b/thousandeyes-sdk-dashboards/test/test_dashboards_api.py @@ -85,7 +85,7 @@ class TestDashboardsApi(unittest.TestCase): "type" : "Agent Status", "metricGroup" : "BGP", "measure" : { - "percentileValue" : 95.0, + "percentileValue" : 95, "type" : "MEAN" }, "apiLink" : "apiLink", @@ -122,7 +122,7 @@ class TestDashboardsApi(unittest.TestCase): "type" : "Agent Status", "metricGroup" : "BGP", "measure" : { - "percentileValue" : 95.0, + "percentileValue" : 95, "type" : "MEAN" }, "apiLink" : "apiLink", @@ -226,7 +226,7 @@ class TestDashboardsApi(unittest.TestCase): "type" : "Agent Status", "metricGroup" : "BGP", "measure" : { - "percentileValue" : 95.0, + "percentileValue" : 95, "type" : "MEAN" }, "apiLink" : "apiLink", @@ -263,7 +263,7 @@ class TestDashboardsApi(unittest.TestCase): "type" : "Agent Status", "metricGroup" : "BGP", "measure" : { - "percentileValue" : 95.0, + "percentileValue" : 95, "type" : "MEAN" }, "apiLink" : "apiLink", @@ -373,7 +373,7 @@ class TestDashboardsApi(unittest.TestCase): "type" : "Agent Status", "metricGroup" : "BGP", "measure" : { - "percentileValue" : 95.0, + "percentileValue" : 95, "type" : "MEAN" }, "apiLink" : "apiLink", @@ -410,7 +410,7 @@ class TestDashboardsApi(unittest.TestCase): "type" : "Agent Status", "metricGroup" : "BGP", "measure" : { - "percentileValue" : 95.0, + "percentileValue" : 95, "type" : "MEAN" }, "apiLink" : "apiLink", @@ -558,8 +558,8 @@ class TestDashboardsApi(unittest.TestCase): "startTimes" : [ "2023-05-16T10:14:28Z" ] } ], "binSize" : 3600, - "previousValue" : 500.0, - "value" : 100.0, + "previousValue" : 500, + "value" : 100, "startDate" : "2023-05-16T10:14:28Z", "timestamp" : 1567620000, "status" : "No data" @@ -600,8 +600,8 @@ class TestDashboardsApi(unittest.TestCase): "startTimes" : [ "2023-05-16T10:14:28Z" ] } ], "binSize" : 3600, - "previousValue" : 500.0, - "value" : 100.0, + "previousValue" : 500, + "value" : 100, "startDate" : "2023-05-16T10:14:28Z", "timestamp" : 1567620000, "status" : "No data" @@ -706,7 +706,7 @@ class TestDashboardsApi(unittest.TestCase): "groupProperty" : "COUNTRY", "groupValue" : "US" } ], - "value" : 100.0, + "value" : 100, "timestamp" : 1567620000 }, { "numberOfDataPoints" : 23304, @@ -717,7 +717,7 @@ class TestDashboardsApi(unittest.TestCase): "groupProperty" : "COUNTRY", "groupValue" : "US" } ], - "value" : 100.0, + "value" : 100, "timestamp" : 1567620000 } ], "status" : "No data" @@ -764,7 +764,7 @@ class TestDashboardsApi(unittest.TestCase): "groupProperty" : "COUNTRY", "groupValue" : "US" } ], - "value" : 100.0, + "value" : 100, "timestamp" : 1567620000 }, { "numberOfDataPoints" : 23304, @@ -775,7 +775,7 @@ class TestDashboardsApi(unittest.TestCase): "groupProperty" : "COUNTRY", "groupValue" : "US" } ], - "value" : 100.0, + "value" : 100, "timestamp" : 1567620000 } ], "status" : "No data" @@ -810,7 +810,7 @@ class TestDashboardsApi(unittest.TestCase): "groupProperty" : "COUNTRY", "groupValue" : "US" } ], - "value" : 100.0, + "value" : 100, "timestamp" : 1567620000 }, { "numberOfDataPoints" : 23304, @@ -821,7 +821,7 @@ class TestDashboardsApi(unittest.TestCase): "groupProperty" : "COUNTRY", "groupValue" : "US" } ], - "value" : 100.0, + "value" : 100, "timestamp" : 1567620000 } ], "agents" : [ { @@ -956,7 +956,7 @@ class TestDashboardsApi(unittest.TestCase): "type" : "Agent Status", "metricGroup" : "BGP", "measure" : { - "percentileValue" : 95.0, + "percentileValue" : 95, "type" : "MEAN" }, "apiLink" : "apiLink", @@ -993,7 +993,7 @@ class TestDashboardsApi(unittest.TestCase): "type" : "Agent Status", "metricGroup" : "BGP", "measure" : { - "percentileValue" : 95.0, + "percentileValue" : 95, "type" : "MEAN" }, "apiLink" : "apiLink", @@ -1100,7 +1100,7 @@ class TestDashboardsApi(unittest.TestCase): "type" : "Agent Status", "metricGroup" : "BGP", "measure" : { - "percentileValue" : 95.0, + "percentileValue" : 95, "type" : "MEAN" }, "apiLink" : "apiLink", @@ -1137,7 +1137,7 @@ class TestDashboardsApi(unittest.TestCase): "type" : "Agent Status", "metricGroup" : "BGP", "measure" : { - "percentileValue" : 95.0, + "percentileValue" : 95, "type" : "MEAN" }, "apiLink" : "apiLink", @@ -1240,8 +1240,8 @@ class TestDashboardsApi(unittest.TestCase): "startTimes" : [ "2023-05-16T10:14:28Z" ] } ], "binSize" : 3600, - "previousValue" : 500.0, - "value" : 100.0, + "previousValue" : 500, + "value" : 100, "startDate" : "2023-05-16T10:14:28Z", "timestamp" : 1567620000, "status" : "No data" @@ -1298,7 +1298,7 @@ class TestDashboardsApi(unittest.TestCase): "groupProperty" : "COUNTRY", "groupValue" : "US" } ], - "value" : 100.0, + "value" : 100, "timestamp" : 1567620000 }, { "numberOfDataPoints" : 23304, @@ -1309,7 +1309,7 @@ class TestDashboardsApi(unittest.TestCase): "groupProperty" : "COUNTRY", "groupValue" : "US" } ], - "value" : 100.0, + "value" : 100, "timestamp" : 1567620000 } ], "status" : "No data" @@ -1376,7 +1376,7 @@ class TestDashboardsApi(unittest.TestCase): "type" : "Agent Status", "metricGroup" : "BGP", "measure" : { - "percentileValue" : 95.0, + "percentileValue" : 95, "type" : "MEAN" }, "apiLink" : "apiLink", @@ -1413,7 +1413,7 @@ class TestDashboardsApi(unittest.TestCase): "type" : "Agent Status", "metricGroup" : "BGP", "measure" : { - "percentileValue" : 95.0, + "percentileValue" : 95, "type" : "MEAN" }, "apiLink" : "apiLink", @@ -1517,7 +1517,7 @@ class TestDashboardsApi(unittest.TestCase): "type" : "Agent Status", "metricGroup" : "BGP", "measure" : { - "percentileValue" : 95.0, + "percentileValue" : 95, "type" : "MEAN" }, "apiLink" : "apiLink", @@ -1554,7 +1554,7 @@ class TestDashboardsApi(unittest.TestCase): "type" : "Agent Status", "metricGroup" : "BGP", "measure" : { - "percentileValue" : 95.0, + "percentileValue" : 95, "type" : "MEAN" }, "apiLink" : "apiLink", diff --git a/thousandeyes-sdk-emulation/README.md b/thousandeyes-sdk-emulation/README.md index e0434cb1..6e9a8043 100644 --- a/thousandeyes-sdk-emulation/README.md +++ b/thousandeyes-sdk-emulation/README.md @@ -11,7 +11,7 @@ To access Emulation API operations, the following permissions are required: This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: -- API version: 7.0.84 +- API version: 7.0.88 - 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 02036de5..9e4c22b6 100644 --- a/thousandeyes-sdk-endpoint-agents/README.md +++ b/thousandeyes-sdk-endpoint-agents/README.md @@ -7,7 +7,7 @@ For more information about Endpoint Agents, see [Endpoint Agents](https://docs.t This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: -- API version: 7.0.84 +- API version: 7.0.88 - 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 b45ebffc..37b34dd6 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/README.md +++ b/thousandeyes-sdk-endpoint-instant-tests/README.md @@ -1,5 +1,4 @@ # thousandeyes-sdk-endpoint-instant-tests - You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: @@ -13,7 +12,7 @@ The URLs for these API test data endpoints are provided within the test definiti This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: -- API version: 7.0.84 +- API version: 7.0.88 - Generator version: 7.6.0 - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator diff --git a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/__init__.py b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/__init__.py index 89dd9cd4..33f7d4ae 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/__init__.py +++ b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/__init__.py @@ -5,7 +5,7 @@ """ Endpoint Instant Scheduled Tests API - You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. + You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/api/agent_to_server_endpoint_instant_scheduled_tests_api.py b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/api/agent_to_server_endpoint_instant_scheduled_tests_api.py index 0f61a3de..1f3bd323 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/api/agent_to_server_endpoint_instant_scheduled_tests_api.py +++ b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/api/agent_to_server_endpoint_instant_scheduled_tests_api.py @@ -3,7 +3,7 @@ """ Endpoint Instant Scheduled Tests API - You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. + You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/api/http_server_endpoint_instant_scheduled_tests_api.py b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/api/http_server_endpoint_instant_scheduled_tests_api.py index 6f124ff3..f9548a61 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/api/http_server_endpoint_instant_scheduled_tests_api.py +++ b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/api/http_server_endpoint_instant_scheduled_tests_api.py @@ -3,7 +3,7 @@ """ Endpoint Instant Scheduled Tests API - You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. + You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/api/run_endpoint_instant_scheduled_tests_api.py b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/api/run_endpoint_instant_scheduled_tests_api.py index 3049ea0c..a8f5c760 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/api/run_endpoint_instant_scheduled_tests_api.py +++ b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/api/run_endpoint_instant_scheduled_tests_api.py @@ -3,7 +3,7 @@ """ Endpoint Instant Scheduled Tests API - You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. + You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/__init__.py b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/__init__.py index ec5213a0..5e1fee4a 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/__init__.py +++ b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/__init__.py @@ -4,7 +4,7 @@ """ Endpoint Instant Scheduled Tests API - You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. + You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_agent_labels_selector_config.py b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_agent_labels_selector_config.py index e5608463..0fc2dca3 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_agent_labels_selector_config.py +++ b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_agent_labels_selector_config.py @@ -3,7 +3,7 @@ """ Endpoint Instant Scheduled Tests API - You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. + You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_agent_selector_config.py b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_agent_selector_config.py index 441c73ec..d19ad2de 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_agent_selector_config.py +++ b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_agent_selector_config.py @@ -3,7 +3,7 @@ """ Endpoint Instant Scheduled Tests API - You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. + You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_agent_to_server_instant_test.py b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_agent_to_server_instant_test.py index 50317069..d26c2c06 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_agent_to_server_instant_test.py +++ b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_agent_to_server_instant_test.py @@ -3,7 +3,7 @@ """ Endpoint Instant Scheduled Tests API - You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. + You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_agent_to_server_test.py b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_agent_to_server_test.py index 462c5166..04efb541 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_agent_to_server_test.py +++ b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_agent_to_server_test.py @@ -3,7 +3,7 @@ """ Endpoint Instant Scheduled Tests API - You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. + You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_all_agents_selector_config.py b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_all_agents_selector_config.py index b731e223..4688a0e1 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_all_agents_selector_config.py +++ b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_all_agents_selector_config.py @@ -3,7 +3,7 @@ """ Endpoint Instant Scheduled Tests API - You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. + You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_http_server_base_test.py b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_http_server_base_test.py index 2cac50ba..a981a8f0 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_http_server_base_test.py +++ b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_http_server_base_test.py @@ -3,7 +3,7 @@ """ Endpoint Instant Scheduled Tests API - You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. + You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_http_server_instant_test.py b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_http_server_instant_test.py index f1bbc643..bb1d09a5 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_http_server_instant_test.py +++ b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_http_server_instant_test.py @@ -3,7 +3,7 @@ """ Endpoint Instant Scheduled Tests API - You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. + You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_http_server_test.py b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_http_server_test.py index ba62fe30..5dfc0410 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_http_server_test.py +++ b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_http_server_test.py @@ -3,7 +3,7 @@ """ Endpoint Instant Scheduled Tests API - You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. + You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_instant_test.py b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_instant_test.py index 42676297..c9368fad 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_instant_test.py +++ b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_instant_test.py @@ -3,7 +3,7 @@ """ Endpoint Instant Scheduled Tests API - You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. + You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_ip_version_in.py b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_ip_version_in.py index 5d39e213..d6b1696d 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_ip_version_in.py +++ b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_ip_version_in.py @@ -3,7 +3,7 @@ """ Endpoint Instant Scheduled Tests API - You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. + You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_run_scheduled_instant_test_result.py b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_run_scheduled_instant_test_result.py index af286484..b79dd64a 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_run_scheduled_instant_test_result.py +++ b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_run_scheduled_instant_test_result.py @@ -3,7 +3,7 @@ """ Endpoint Instant Scheduled Tests API - You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. + You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_scheduled_test_type.py b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_scheduled_test_type.py index 055d08db..e779f129 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_scheduled_test_type.py +++ b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_scheduled_test_type.py @@ -3,7 +3,7 @@ """ Endpoint Instant Scheduled Tests API - You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. + You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_specific_agents_selector_config.py b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_specific_agents_selector_config.py index 63aba454..424a2877 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_specific_agents_selector_config.py +++ b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_specific_agents_selector_config.py @@ -3,7 +3,7 @@ """ Endpoint Instant Scheduled Tests API - You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. + You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_test.py b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_test.py index 972ac437..49672065 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_test.py +++ b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_test.py @@ -3,7 +3,7 @@ """ Endpoint Instant Scheduled Tests API - You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. + You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_test_agent_selector_type.py b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_test_agent_selector_type.py index 4b9a321e..bd324feb 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_test_agent_selector_type.py +++ b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_test_agent_selector_type.py @@ -3,7 +3,7 @@ """ Endpoint Instant Scheduled Tests API - You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. + You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_test_auth_type.py b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_test_auth_type.py index dfdda621..975111f5 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_test_auth_type.py +++ b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_test_auth_type.py @@ -3,7 +3,7 @@ """ Endpoint Instant Scheduled Tests API - You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. + You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_test_links.py b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_test_links.py index 3ebdfe11..71e2ba66 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_test_links.py +++ b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_test_links.py @@ -3,7 +3,7 @@ """ Endpoint Instant Scheduled Tests API - You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. + You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_test_protocol.py b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_test_protocol.py index f42ae051..0662f7cd 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_test_protocol.py +++ b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_test_protocol.py @@ -3,7 +3,7 @@ """ Endpoint Instant Scheduled Tests API - You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. + You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_test_self_link.py b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_test_self_link.py index c8f26e1a..aff35139 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_test_self_link.py +++ b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_test_self_link.py @@ -3,7 +3,7 @@ """ Endpoint Instant Scheduled Tests API - You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. + You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/error.py b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/error.py index 032f49d4..2fd0999e 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/error.py +++ b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/error.py @@ -3,7 +3,7 @@ """ Endpoint Instant Scheduled Tests API - You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. + You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/link.py b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/link.py index e8050911..901e688f 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/link.py +++ b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/link.py @@ -3,7 +3,7 @@ """ Endpoint Instant Scheduled Tests API - You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. + You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/test_interval.py b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/test_interval.py index 6e4eb9fb..d7267342 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/test_interval.py +++ b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/test_interval.py @@ -3,7 +3,7 @@ """ Endpoint Instant Scheduled Tests API - You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. + You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/test_label.py b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/test_label.py index 8d6a4c56..29b94465 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/test_label.py +++ b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/test_label.py @@ -3,7 +3,7 @@ """ Endpoint Instant Scheduled Tests API - You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. + You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/test_probe_mode.py b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/test_probe_mode.py index 00d613d7..798fc2a5 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/test_probe_mode.py +++ b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/test_probe_mode.py @@ -3,7 +3,7 @@ """ Endpoint Instant Scheduled Tests API - You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. + You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/test_probe_mode_response.py b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/test_probe_mode_response.py index 67b05b20..2310fcc4 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/test_probe_mode_response.py +++ b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/test_probe_mode_response.py @@ -3,7 +3,7 @@ """ Endpoint Instant Scheduled Tests API - You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. + You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/test_ssl_version_id.py b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/test_ssl_version_id.py index baa94884..a3017c05 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/test_ssl_version_id.py +++ b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/test_ssl_version_id.py @@ -3,7 +3,7 @@ """ Endpoint Instant Scheduled Tests API - You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. + You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/unauthorized_error.py b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/unauthorized_error.py index 2a0fd065..85c71937 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/unauthorized_error.py +++ b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/unauthorized_error.py @@ -3,7 +3,7 @@ """ Endpoint Instant Scheduled Tests API - You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. + You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/validation_error.py b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/validation_error.py index 4d11ad72..ce130dfc 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/validation_error.py +++ b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/validation_error.py @@ -3,7 +3,7 @@ """ Endpoint Instant Scheduled Tests API - You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. + You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/validation_error_item.py b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/validation_error_item.py index 4a15480e..61b78fe9 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/validation_error_item.py +++ b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/validation_error_item.py @@ -3,7 +3,7 @@ """ Endpoint Instant Scheduled Tests API - You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. + You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-instant-tests/test/test_agent_to_server_endpoint_instant_scheduled_tests_api.py b/thousandeyes-sdk-endpoint-instant-tests/test/test_agent_to_server_endpoint_instant_scheduled_tests_api.py index 5ed04a57..2151a500 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/test/test_agent_to_server_endpoint_instant_scheduled_tests_api.py +++ b/thousandeyes-sdk-endpoint-instant-tests/test/test_agent_to_server_endpoint_instant_scheduled_tests_api.py @@ -3,7 +3,7 @@ """ Endpoint Instant Scheduled Tests API - You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. + You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-instant-tests/test/test_http_server_endpoint_instant_scheduled_tests_api.py b/thousandeyes-sdk-endpoint-instant-tests/test/test_http_server_endpoint_instant_scheduled_tests_api.py index fa8af5dc..8efd1efd 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/test/test_http_server_endpoint_instant_scheduled_tests_api.py +++ b/thousandeyes-sdk-endpoint-instant-tests/test/test_http_server_endpoint_instant_scheduled_tests_api.py @@ -3,7 +3,7 @@ """ Endpoint Instant Scheduled Tests API - You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. + You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-instant-tests/test/test_run_endpoint_instant_scheduled_tests_api.py b/thousandeyes-sdk-endpoint-instant-tests/test/test_run_endpoint_instant_scheduled_tests_api.py index c92701de..1b191f4b 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/test/test_run_endpoint_instant_scheduled_tests_api.py +++ b/thousandeyes-sdk-endpoint-instant-tests/test/test_run_endpoint_instant_scheduled_tests_api.py @@ -3,7 +3,7 @@ """ Endpoint Instant Scheduled Tests API - You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. + You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-labels/README.md b/thousandeyes-sdk-endpoint-labels/README.md index a1614b37..92699392 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.84 +- API version: 7.0.88 - Generator version: 7.6.0 - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator diff --git a/thousandeyes-sdk-endpoint-test-results/README.md b/thousandeyes-sdk-endpoint-test-results/README.md index 7e13b752..58027132 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.84 +- API version: 7.0.88 - Generator version: 7.6.0 - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator diff --git a/thousandeyes-sdk-endpoint-test-results/docs/DynamicEndpointTestWebex.md b/thousandeyes-sdk-endpoint-test-results/docs/DynamicEndpointTestWebex.md index 1db540c4..7093c191 100644 --- a/thousandeyes-sdk-endpoint-test-results/docs/DynamicEndpointTestWebex.md +++ b/thousandeyes-sdk-endpoint-test-results/docs/DynamicEndpointTestWebex.md @@ -9,6 +9,7 @@ Name | Type | Description | Notes **conference_id** | **str** | Webex conference ID. | [optional] [readonly] **correlation_id** | **str** | Webex conference correlation ID. | [optional] [readonly] **local_sip_session_id** | **str** | Webex calling local sip session ID. | [optional] [readonly] +**meeting_app** | **str** | RoomOS meeting app. | [optional] [readonly] **remote_sip_session_id** | **str** | Webex calling remote sip session ID. | [optional] [readonly] ## Example diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/cpu_utilization.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/cpu_utilization.py index e2e29a08..3f5f0936 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/cpu_utilization.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/cpu_utilization.py @@ -26,11 +26,11 @@ class CpuUtilization(BaseModel): """ CpuUtilization """ # noqa: E501 - min: Optional[Union[Annotated[float, Field(le=1.0, strict=True, ge=0.0)], Annotated[int, Field(le=1, strict=True, ge=0)]]] = Field(default=None, description="The minimum sampled usage value recorded during the monitored period.") - max: Optional[Union[Annotated[float, Field(le=1.0, strict=True, ge=0.0)], Annotated[int, Field(le=1, strict=True, ge=0)]]] = Field(default=None, description="The maximum sampled usage value recorded during the monitored period.") - mean: Optional[Union[Annotated[float, Field(le=1.0, strict=True, ge=0.0)], Annotated[int, Field(le=1, strict=True, ge=0)]]] = Field(default=None, description="The mean (average) sampled usage value recorded during the monitored period.") - median: Optional[Union[Annotated[float, Field(le=1.0, strict=True, ge=0.0)], Annotated[int, Field(le=1, strict=True, ge=0)]]] = Field(default=None, description="The median sampled usage value recorded during the monitored period.") - std_dev: Optional[Union[Annotated[float, Field(le=1.0, strict=True, ge=0.0)], Annotated[int, Field(le=1, strict=True, ge=0)]]] = Field(default=None, description="The standard deviation of sampled usage values recorded during the monitored period.", alias="stdDev") + min: Optional[Union[Annotated[float, Field(le=1, strict=True, ge=0)], Annotated[int, Field(le=1, strict=True, ge=0)]]] = Field(default=None, description="The minimum sampled usage value recorded during the monitored period.") + max: Optional[Union[Annotated[float, Field(le=1, strict=True, ge=0)], Annotated[int, Field(le=1, strict=True, ge=0)]]] = Field(default=None, description="The maximum sampled usage value recorded during the monitored period.") + mean: Optional[Union[Annotated[float, Field(le=1, strict=True, ge=0)], Annotated[int, Field(le=1, strict=True, ge=0)]]] = Field(default=None, description="The mean (average) sampled usage value recorded during the monitored period.") + median: Optional[Union[Annotated[float, Field(le=1, strict=True, ge=0)], Annotated[int, Field(le=1, strict=True, ge=0)]]] = Field(default=None, description="The median sampled usage value recorded during the monitored period.") + std_dev: Optional[Union[Annotated[float, Field(le=1, strict=True, ge=0)], Annotated[int, Field(le=1, strict=True, ge=0)]]] = Field(default=None, description="The standard deviation of sampled usage values recorded during the monitored period.", alias="stdDev") count: Optional[StrictInt] = Field(default=None, description="The total number of samples collected during the monitored period.") __properties: ClassVar[List[str]] = ["min", "max", "mean", "median", "stdDev", "count"] diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/dynamic_endpoint_test_webex.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/dynamic_endpoint_test_webex.py index 58255da2..6ae174b5 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/dynamic_endpoint_test_webex.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/dynamic_endpoint_test_webex.py @@ -28,8 +28,9 @@ class DynamicEndpointTestWebex(BaseModel): conference_id: Optional[StrictStr] = Field(default=None, description="Webex conference ID.", alias="conferenceId") correlation_id: Optional[StrictStr] = Field(default=None, description="Webex conference correlation ID.", alias="correlationId") local_sip_session_id: Optional[StrictStr] = Field(default=None, description="Webex calling local sip session ID.", alias="localSipSessionId") + meeting_app: Optional[StrictStr] = Field(default=None, description="RoomOS meeting app.", alias="meetingApp") remote_sip_session_id: Optional[StrictStr] = Field(default=None, description="Webex calling remote sip session ID.", alias="remoteSipSessionId") - __properties: ClassVar[List[str]] = ["conferenceId", "correlationId", "localSipSessionId", "remoteSipSessionId"] + __properties: ClassVar[List[str]] = ["conferenceId", "correlationId", "localSipSessionId", "meetingApp", "remoteSipSessionId"] model_config = ConfigDict( populate_by_name=True, @@ -66,11 +67,13 @@ class DynamicEndpointTestWebex(BaseModel): * OpenAPI `readOnly` fields are excluded. * OpenAPI `readOnly` fields are excluded. * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. """ excluded_fields: Set[str] = set([ "conference_id", "correlation_id", "local_sip_session_id", + "meeting_app", "remote_sip_session_id", ]) @@ -94,6 +97,7 @@ class DynamicEndpointTestWebex(BaseModel): "conferenceId": obj.get("conferenceId"), "correlationId": obj.get("correlationId"), "localSipSessionId": obj.get("localSipSessionId"), + "meetingApp": obj.get("meetingApp"), "remoteSipSessionId": obj.get("remoteSipSessionId") }) return _obj diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_endpoint_test.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_endpoint_test.py index 73e7653a..bb97fa60 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_endpoint_test.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_endpoint_test.py @@ -30,7 +30,7 @@ class RealUserEndpointTest(BaseModel): agent_id: Optional[StrictStr] = Field(default=None, description="Unique ID of endpoint agent, from `/endpoint/agents` endpoint.", alias="agentId") committed: Optional[datetime] = Field(default=None, description="UTC date when endpoint real user test was committed to the controller (ISO date-time format).") var_date: Optional[datetime] = Field(default=None, description="UTC date when endpoint real user test took place (ISO date-time format).", alias="date") - experience_score: Optional[Union[Annotated[float, Field(le=1.0, strict=True, ge=0)], Annotated[int, Field(le=1, strict=True, ge=0)]]] = Field(default=None, description="Score rating a user’s experience when loading a particular page, from 0 (the worst) to 1 (the best). [More details](https://docs.thousandeyes.com/product-documentation/end-user-monitoring/viewing-data/endpoint-agent-views-reference#user-experience-score).", alias="experienceScore") + experience_score: Optional[Union[Annotated[float, Field(le=1, strict=True, ge=0)], Annotated[int, Field(le=1, strict=True, ge=0)]]] = Field(default=None, description="Score rating a user’s experience when loading a particular page, from 0 (the worst) to 1 (the best). [More details](https://docs.thousandeyes.com/product-documentation/end-user-monitoring/viewing-data/endpoint-agent-views-reference#user-experience-score).", alias="experienceScore") number_of_pages: Optional[StrictInt] = Field(default=None, description="Number of web pages visited on target website.", alias="numberOfPages") organization_name: Optional[StrictStr] = Field(default=None, description="Name of the AS organization `sourceAddress` belongs to.", alias="organizationName") port: Optional[StrictInt] = Field(default=None, description="Port used to visit target website.") diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_endpoint_test_base.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_endpoint_test_base.py index 2d0dc143..2997cc83 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_endpoint_test_base.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_endpoint_test_base.py @@ -30,7 +30,7 @@ class RealUserEndpointTestBase(BaseModel): agent_id: Optional[StrictStr] = Field(default=None, description="Unique ID of endpoint agent, from `/endpoint/agents` endpoint.", alias="agentId") committed: Optional[datetime] = Field(default=None, description="UTC date when endpoint real user test was committed to the controller (ISO date-time format).") var_date: Optional[datetime] = Field(default=None, description="UTC date when endpoint real user test took place (ISO date-time format).", alias="date") - experience_score: Optional[Union[Annotated[float, Field(le=1.0, strict=True, ge=0)], Annotated[int, Field(le=1, strict=True, ge=0)]]] = Field(default=None, description="Score rating a user’s experience when loading a particular page, from 0 (the worst) to 1 (the best). [More details](https://docs.thousandeyes.com/product-documentation/end-user-monitoring/viewing-data/endpoint-agent-views-reference#user-experience-score).", alias="experienceScore") + experience_score: Optional[Union[Annotated[float, Field(le=1, strict=True, ge=0)], Annotated[int, Field(le=1, strict=True, ge=0)]]] = Field(default=None, description="Score rating a user’s experience when loading a particular page, from 0 (the worst) to 1 (the best). [More details](https://docs.thousandeyes.com/product-documentation/end-user-monitoring/viewing-data/endpoint-agent-views-reference#user-experience-score).", alias="experienceScore") number_of_pages: Optional[StrictInt] = Field(default=None, description="Number of web pages visited on target website.", alias="numberOfPages") organization_name: Optional[StrictStr] = Field(default=None, description="Name of the AS organization `sourceAddress` belongs to.", alias="organizationName") port: Optional[StrictInt] = Field(default=None, description="Port used to visit target website.") diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_endpoint_test_detail.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_endpoint_test_detail.py index 37ed3ec3..103a3931 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_endpoint_test_detail.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_endpoint_test_detail.py @@ -34,7 +34,7 @@ class RealUserEndpointTestDetail(BaseModel): agent_id: Optional[StrictStr] = Field(default=None, description="Unique ID of endpoint agent, from `/endpoint/agents` endpoint.", alias="agentId") committed: Optional[datetime] = Field(default=None, description="UTC date when endpoint real user test was committed to the controller (ISO date-time format).") var_date: Optional[datetime] = Field(default=None, description="UTC date when endpoint real user test took place (ISO date-time format).", alias="date") - experience_score: Optional[Union[Annotated[float, Field(le=1.0, strict=True, ge=0)], Annotated[int, Field(le=1, strict=True, ge=0)]]] = Field(default=None, description="Score rating a user’s experience when loading a particular page, from 0 (the worst) to 1 (the best). [More details](https://docs.thousandeyes.com/product-documentation/end-user-monitoring/viewing-data/endpoint-agent-views-reference#user-experience-score).", alias="experienceScore") + experience_score: Optional[Union[Annotated[float, Field(le=1, strict=True, ge=0)], Annotated[int, Field(le=1, strict=True, ge=0)]]] = Field(default=None, description="Score rating a user’s experience when loading a particular page, from 0 (the worst) to 1 (the best). [More details](https://docs.thousandeyes.com/product-documentation/end-user-monitoring/viewing-data/endpoint-agent-views-reference#user-experience-score).", alias="experienceScore") number_of_pages: Optional[StrictInt] = Field(default=None, description="Number of web pages visited on target website.", alias="numberOfPages") organization_name: Optional[StrictStr] = Field(default=None, description="Name of the AS organization `sourceAddress` belongs to.", alias="organizationName") port: Optional[StrictInt] = Field(default=None, description="Port used to visit target website.") diff --git a/thousandeyes-sdk-endpoint-test-results/test/test_http_server_endpoint_scheduled_test_results_api.py b/thousandeyes-sdk-endpoint-test-results/test/test_http_server_endpoint_scheduled_test_results_api.py index b9eb4aeb..10233a4d 100644 --- a/thousandeyes-sdk-endpoint-test-results/test/test_http_server_endpoint_scheduled_test_results_api.py +++ b/thousandeyes-sdk-endpoint-test-results/test/test_http_server_endpoint_scheduled_test_results_api.py @@ -154,7 +154,7 @@ class TestHTTPServerEndpointScheduledTestResultsApi(unittest.TestCase): "sinr" : 20 }, "score" : { - "applicationScore" : 100.0, + "applicationScore" : 100, "quality" : "great" }, "connectTime" : 2, @@ -281,7 +281,7 @@ class TestHTTPServerEndpointScheduledTestResultsApi(unittest.TestCase): "sinr" : 20 }, "score" : { - "applicationScore" : 100.0, + "applicationScore" : 100, "quality" : "great" }, "connectTime" : 2, @@ -398,11 +398,11 @@ class TestHTTPServerEndpointScheduledTestResultsApi(unittest.TestCase): "conditionalOperator" : "and", "filters" : [ { "name" : "response-time", - "value" : 10.0, + "value" : 10, "operator" : "gte" }, { "name" : "response-time", - "value" : 10.0, + "value" : 10, "operator" : "gte" } ] } @@ -477,7 +477,7 @@ class TestHTTPServerEndpointScheduledTestResultsApi(unittest.TestCase): "sinr" : 20 }, "score" : { - "applicationScore" : 100.0, + "applicationScore" : 100, "quality" : "great" }, "connectTime" : 2, @@ -604,7 +604,7 @@ class TestHTTPServerEndpointScheduledTestResultsApi(unittest.TestCase): "sinr" : 20 }, "score" : { - "applicationScore" : 100.0, + "applicationScore" : 100, "quality" : "great" }, "connectTime" : 2, @@ -721,11 +721,11 @@ class TestHTTPServerEndpointScheduledTestResultsApi(unittest.TestCase): "conditionalOperator" : "and", "filters" : [ { "name" : "response-time", - "value" : 10.0, + "value" : 10, "operator" : "gte" }, { "name" : "response-time", - "value" : 10.0, + "value" : 10, "operator" : "gte" } ] } @@ -800,7 +800,7 @@ class TestHTTPServerEndpointScheduledTestResultsApi(unittest.TestCase): "sinr" : 20 }, "score" : { - "applicationScore" : 100.0, + "applicationScore" : 100, "quality" : "great" }, "connectTime" : 2, @@ -927,7 +927,7 @@ class TestHTTPServerEndpointScheduledTestResultsApi(unittest.TestCase): "sinr" : 20 }, "score" : { - "applicationScore" : 100.0, + "applicationScore" : 100, "quality" : "great" }, "connectTime" : 2, 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 39668fa0..78a9065b 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 @@ -49,11 +49,11 @@ class TestLocalNetworkEndpointTestResultsApi(unittest.TestCase): "conditionalOperator" : "and", "filters" : [ { "name" : "loss", - "value" : 10.0, + "value" : 10, "operator" : "gte" }, { "name" : "loss", - "value" : 10.0, + "value" : 10, "operator" : "gte" } ] } @@ -87,7 +87,7 @@ class TestLocalNetworkEndpointTestResultsApi(unittest.TestCase): }, "isIcmpBlocked" : true, "gatewayScore" : { - "score" : 100.0, + "score" : 100, "quality" : "great" }, "tcpConnect" : { @@ -97,11 +97,11 @@ class TestLocalNetworkEndpointTestResultsApi(unittest.TestCase): "infoFlags" : [ "TE_INFO_ICMP_BLOCKED_BY_FIREWALL" ] }, "vpnScore" : { - "score" : 100.0, + "score" : 100, "quality" : "great" }, "proxyScore" : { - "score" : 100.0, + "score" : 100, "quality" : "great" }, "batteryMetrics" : { @@ -222,12 +222,12 @@ class TestLocalNetworkEndpointTestResultsApi(unittest.TestCase): } ] }, "connectionScore" : { - "score" : 100.0, + "score" : 100, "quality" : "great" }, "icmpPing" : { "maxRtt" : 66, - "loss" : 1.0, + "loss" : 1, "pktsReceived" : 10, "avgRtt" : 7, "meanDevRtt" : 11, @@ -239,7 +239,7 @@ class TestLocalNetworkEndpointTestResultsApi(unittest.TestCase): "networkTopologyId" : "00160:54c3a4b180c6:1490536500:c7a58c49", "roundId" : 1384309800, "agentScore" : { - "score" : 100.0, + "score" : 100, "quality" : "great" } }, { @@ -250,7 +250,7 @@ class TestLocalNetworkEndpointTestResultsApi(unittest.TestCase): }, "isIcmpBlocked" : true, "gatewayScore" : { - "score" : 100.0, + "score" : 100, "quality" : "great" }, "tcpConnect" : { @@ -260,11 +260,11 @@ class TestLocalNetworkEndpointTestResultsApi(unittest.TestCase): "infoFlags" : [ "TE_INFO_ICMP_BLOCKED_BY_FIREWALL" ] }, "vpnScore" : { - "score" : 100.0, + "score" : 100, "quality" : "great" }, "proxyScore" : { - "score" : 100.0, + "score" : 100, "quality" : "great" }, "batteryMetrics" : { @@ -385,12 +385,12 @@ class TestLocalNetworkEndpointTestResultsApi(unittest.TestCase): } ] }, "connectionScore" : { - "score" : 100.0, + "score" : 100, "quality" : "great" }, "icmpPing" : { "maxRtt" : 66, - "loss" : 1.0, + "loss" : 1, "pktsReceived" : 10, "avgRtt" : 7, "meanDevRtt" : 11, @@ -402,7 +402,7 @@ class TestLocalNetworkEndpointTestResultsApi(unittest.TestCase): "networkTopologyId" : "00160:54c3a4b180c6:1490536500:c7a58c49", "roundId" : 1384309800, "agentScore" : { - "score" : 100.0, + "score" : 100, "quality" : "great" } } ], @@ -471,7 +471,7 @@ class TestLocalNetworkEndpointTestResultsApi(unittest.TestCase): "resolutionTime" : 3 }, "vpnScore" : { - "score" : 100.0, + "score" : 100, "quality" : "great" }, "batteryMetrics" : { @@ -564,12 +564,12 @@ class TestLocalNetworkEndpointTestResultsApi(unittest.TestCase): }, "roundId" : 1384309800, "agentScore" : { - "score" : 100.0, + "score" : 100, "quality" : "great" }, "isIcmpBlocked" : true, "gatewayScore" : { - "score" : 100.0, + "score" : 100, "quality" : "great" }, "tcpConnect" : { @@ -579,7 +579,7 @@ class TestLocalNetworkEndpointTestResultsApi(unittest.TestCase): "infoFlags" : [ "TE_INFO_ICMP_BLOCKED_BY_FIREWALL" ] }, "proxyScore" : { - "score" : 100.0, + "score" : 100, "quality" : "great" }, "coordinates" : { @@ -731,12 +731,12 @@ class TestLocalNetworkEndpointTestResultsApi(unittest.TestCase): } ] }, "connectionScore" : { - "score" : 100.0, + "score" : 100, "quality" : "great" }, "icmpPing" : { "maxRtt" : 66, - "loss" : 1.0, + "loss" : 1, "pktsReceived" : 10, "avgRtt" : 7, "meanDevRtt" : 11, @@ -753,7 +753,7 @@ class TestLocalNetworkEndpointTestResultsApi(unittest.TestCase): "resolutionTime" : 3 }, "vpnScore" : { - "score" : 100.0, + "score" : 100, "quality" : "great" }, "batteryMetrics" : { @@ -846,12 +846,12 @@ class TestLocalNetworkEndpointTestResultsApi(unittest.TestCase): }, "roundId" : 1384309800, "agentScore" : { - "score" : 100.0, + "score" : 100, "quality" : "great" }, "isIcmpBlocked" : true, "gatewayScore" : { - "score" : 100.0, + "score" : 100, "quality" : "great" }, "tcpConnect" : { @@ -861,7 +861,7 @@ class TestLocalNetworkEndpointTestResultsApi(unittest.TestCase): "infoFlags" : [ "TE_INFO_ICMP_BLOCKED_BY_FIREWALL" ] }, "proxyScore" : { - "score" : 100.0, + "score" : 100, "quality" : "great" }, "coordinates" : { @@ -1013,12 +1013,12 @@ class TestLocalNetworkEndpointTestResultsApi(unittest.TestCase): } ] }, "connectionScore" : { - "score" : 100.0, + "score" : 100, "quality" : "great" }, "icmpPing" : { "maxRtt" : 66, - "loss" : 1.0, + "loss" : 1, "pktsReceived" : 10, "avgRtt" : 7, "meanDevRtt" : 11, diff --git a/thousandeyes-sdk-endpoint-test-results/test/test_network_dynamic_endpoint_test_results_api.py b/thousandeyes-sdk-endpoint-test-results/test/test_network_dynamic_endpoint_test_results_api.py index 78603f5e..4d9920ec 100644 --- a/thousandeyes-sdk-endpoint-test-results/test/test_network_dynamic_endpoint_test_results_api.py +++ b/thousandeyes-sdk-endpoint-test-results/test/test_network_dynamic_endpoint_test_results_api.py @@ -48,11 +48,11 @@ class TestNetworkDynamicEndpointTestResultsApi(unittest.TestCase): "conditionalOperator" : "and", "filters" : [ { "name" : "loss", - "value" : 10.0, + "value" : 10, "operator" : "gte" }, { "name" : "loss", - "value" : 10.0, + "value" : 10, "operator" : "gte" } ] } @@ -134,14 +134,14 @@ class TestNetworkDynamicEndpointTestResultsApi(unittest.TestCase): "remoteIpAddress" : "120.98.134.7" }, "agentId" : "861b7557-cd57-4bbb-b648-00bddf88ef49", - "minLatency" : 167.0, + "minLatency" : 167, "vpnProfile" : { "vpnClientNetworkRange" : [ "9.88.37.27", "9.88.37.27" ], "vpnGatewayAddress" : "120.98.134.7", "vpnType" : "cisco-anyconnect", "vpnClientAddresses" : [ "184.81.113.85", "13.129.91.62" ] }, - "maxLatency" : 168.0, + "maxLatency" : 168, "batteryMetrics" : { "batteryLevel" : "medium", "batteryLevelNormalizedPercent" : 0.3 @@ -164,10 +164,10 @@ class TestNetworkDynamicEndpointTestResultsApi(unittest.TestCase): "sinr" : 20 }, "score" : { - "applicationScore" : 100.0, + "applicationScore" : 100, "quality" : "great" }, - "loss" : 0.0, + "loss" : 0, "protocol" : "tcp", "networkProfile" : { "previousInterface" : { @@ -216,13 +216,13 @@ class TestNetworkDynamicEndpointTestResultsApi(unittest.TestCase): "gateway" : "10.0.0.1" }, "ztaMetrics" : [ { - "loss" : 50.0, + "loss" : 50, "jitter" : 5, "avgLatency" : 3, "errorMessage" : "ERR_NAME_NOT_RESOLVED", "type" : "zta_service" }, { - "loss" : 50.0, + "loss" : 50, "jitter" : 5, "avgLatency" : 3, "errorMessage" : "ERR_NAME_NOT_RESOLVED", @@ -262,7 +262,8 @@ class TestNetworkDynamicEndpointTestResultsApi(unittest.TestCase): "remoteSipSessionId" : "22581707460321454", "localSipSessionId" : "22581707460321454", "conferenceId" : "225817074608419375", - "correlationId" : "22581707460321454" + "correlationId" : "22581707460321454", + "meetingApp" : "ZoomCRC" }, "aid" : "1234", "errorDetails" : "Error" @@ -273,14 +274,14 @@ class TestNetworkDynamicEndpointTestResultsApi(unittest.TestCase): "remoteIpAddress" : "120.98.134.7" }, "agentId" : "861b7557-cd57-4bbb-b648-00bddf88ef49", - "minLatency" : 167.0, + "minLatency" : 167, "vpnProfile" : { "vpnClientNetworkRange" : [ "9.88.37.27", "9.88.37.27" ], "vpnGatewayAddress" : "120.98.134.7", "vpnType" : "cisco-anyconnect", "vpnClientAddresses" : [ "184.81.113.85", "13.129.91.62" ] }, - "maxLatency" : 168.0, + "maxLatency" : 168, "batteryMetrics" : { "batteryLevel" : "medium", "batteryLevelNormalizedPercent" : 0.3 @@ -303,10 +304,10 @@ class TestNetworkDynamicEndpointTestResultsApi(unittest.TestCase): "sinr" : 20 }, "score" : { - "applicationScore" : 100.0, + "applicationScore" : 100, "quality" : "great" }, - "loss" : 0.0, + "loss" : 0, "protocol" : "tcp", "networkProfile" : { "previousInterface" : { @@ -355,13 +356,13 @@ class TestNetworkDynamicEndpointTestResultsApi(unittest.TestCase): "gateway" : "10.0.0.1" }, "ztaMetrics" : [ { - "loss" : 50.0, + "loss" : 50, "jitter" : 5, "avgLatency" : 3, "errorMessage" : "ERR_NAME_NOT_RESOLVED", "type" : "zta_service" }, { - "loss" : 50.0, + "loss" : 50, "jitter" : 5, "avgLatency" : 3, "errorMessage" : "ERR_NAME_NOT_RESOLVED", @@ -401,7 +402,8 @@ class TestNetworkDynamicEndpointTestResultsApi(unittest.TestCase): "remoteSipSessionId" : "22581707460321454", "localSipSessionId" : "22581707460321454", "conferenceId" : "225817074608419375", - "correlationId" : "22581707460321454" + "correlationId" : "22581707460321454", + "meetingApp" : "ZoomCRC" }, "aid" : "1234", "errorDetails" : "Error" @@ -686,7 +688,8 @@ class TestNetworkDynamicEndpointTestResultsApi(unittest.TestCase): "remoteSipSessionId" : "22581707460321454", "localSipSessionId" : "22581707460321454", "conferenceId" : "225817074608419375", - "correlationId" : "22581707460321454" + "correlationId" : "22581707460321454", + "meetingApp" : "ZoomCRC" }, "aid" : "1234", "roundId" : 1384309800 @@ -898,7 +901,8 @@ class TestNetworkDynamicEndpointTestResultsApi(unittest.TestCase): "remoteSipSessionId" : "22581707460321454", "localSipSessionId" : "22581707460321454", "conferenceId" : "225817074608419375", - "correlationId" : "22581707460321454" + "correlationId" : "22581707460321454", + "meetingApp" : "ZoomCRC" }, "aid" : "1234", "roundId" : 1384309800 @@ -1122,7 +1126,8 @@ class TestNetworkDynamicEndpointTestResultsApi(unittest.TestCase): "remoteSipSessionId" : "22581707460321454", "localSipSessionId" : "22581707460321454", "conferenceId" : "225817074608419375", - "correlationId" : "22581707460321454" + "correlationId" : "22581707460321454", + "meetingApp" : "ZoomCRC" }, "aid" : "1234", "roundId" : 1384309800 @@ -1262,7 +1267,8 @@ class TestNetworkDynamicEndpointTestResultsApi(unittest.TestCase): "remoteSipSessionId" : "22581707460321454", "localSipSessionId" : "22581707460321454", "conferenceId" : "225817074608419375", - "correlationId" : "22581707460321454" + "correlationId" : "22581707460321454", + "meetingApp" : "ZoomCRC" }, "aid" : "1234", "roundId" : 1384309800 diff --git a/thousandeyes-sdk-endpoint-test-results/test/test_network_endpoint_scheduled_test_results_api.py b/thousandeyes-sdk-endpoint-test-results/test/test_network_endpoint_scheduled_test_results_api.py index c90854ff..0a3c7e3a 100644 --- a/thousandeyes-sdk-endpoint-test-results/test/test_network_endpoint_scheduled_test_results_api.py +++ b/thousandeyes-sdk-endpoint-test-results/test/test_network_endpoint_scheduled_test_results_api.py @@ -47,11 +47,11 @@ class TestNetworkEndpointScheduledTestResultsApi(unittest.TestCase): "conditionalOperator" : "and", "filters" : [ { "name" : "loss", - "value" : 10.0, + "value" : 10, "operator" : "gte" }, { "name" : "loss", - "value" : 10.0, + "value" : 10, "operator" : "gte" } ] } @@ -136,14 +136,14 @@ class TestNetworkEndpointScheduledTestResultsApi(unittest.TestCase): "agentId" : "861b7557-cd57-4bbb-b648-00bddf88ef49", "isIcmpBlocked" : true, "avgLatency" : 167.04, - "minLatency" : 167.0, + "minLatency" : 167, "vpnProfile" : { "vpnClientNetworkRange" : [ "9.88.37.27", "9.88.37.27" ], "vpnGatewayAddress" : "120.98.134.7", "vpnType" : "cisco-anyconnect", "vpnClientAddresses" : [ "184.81.113.85", "13.129.91.62" ] }, - "maxLatency" : 168.0, + "maxLatency" : 168, "batteryMetrics" : { "batteryLevel" : "medium", "batteryLevelNormalizedPercent" : 0.3 @@ -166,10 +166,10 @@ class TestNetworkEndpointScheduledTestResultsApi(unittest.TestCase): "sinr" : 20 }, "score" : { - "applicationScore" : 100.0, + "applicationScore" : 100, "quality" : "great" }, - "loss" : 0.0, + "loss" : 0, "systemMetrics" : { "cpuUtilization" : { "min" : 0.22, @@ -240,13 +240,13 @@ class TestNetworkEndpointScheduledTestResultsApi(unittest.TestCase): "gateway" : "10.0.0.1" }, "ztaMetrics" : [ { - "loss" : 50.0, + "loss" : 50, "jitter" : 5, "avgLatency" : 3, "errorMessage" : "ERR_NAME_NOT_RESOLVED", "type" : "zta_service" }, { - "loss" : 50.0, + "loss" : 50, "jitter" : 5, "avgLatency" : 3, "errorMessage" : "ERR_NAME_NOT_RESOLVED", @@ -265,14 +265,14 @@ class TestNetworkEndpointScheduledTestResultsApi(unittest.TestCase): "agentId" : "861b7557-cd57-4bbb-b648-00bddf88ef49", "isIcmpBlocked" : true, "avgLatency" : 167.04, - "minLatency" : 167.0, + "minLatency" : 167, "vpnProfile" : { "vpnClientNetworkRange" : [ "9.88.37.27", "9.88.37.27" ], "vpnGatewayAddress" : "120.98.134.7", "vpnType" : "cisco-anyconnect", "vpnClientAddresses" : [ "184.81.113.85", "13.129.91.62" ] }, - "maxLatency" : 168.0, + "maxLatency" : 168, "batteryMetrics" : { "batteryLevel" : "medium", "batteryLevelNormalizedPercent" : 0.3 @@ -295,10 +295,10 @@ class TestNetworkEndpointScheduledTestResultsApi(unittest.TestCase): "sinr" : 20 }, "score" : { - "applicationScore" : 100.0, + "applicationScore" : 100, "quality" : "great" }, - "loss" : 0.0, + "loss" : 0, "systemMetrics" : { "cpuUtilization" : { "min" : 0.22, @@ -369,13 +369,13 @@ class TestNetworkEndpointScheduledTestResultsApi(unittest.TestCase): "gateway" : "10.0.0.1" }, "ztaMetrics" : [ { - "loss" : 50.0, + "loss" : 50, "jitter" : 5, "avgLatency" : 3, "errorMessage" : "ERR_NAME_NOT_RESOLVED", "type" : "zta_service" }, { - "loss" : 50.0, + "loss" : 50, "jitter" : 5, "avgLatency" : 3, "errorMessage" : "ERR_NAME_NOT_RESOLVED", @@ -412,11 +412,11 @@ class TestNetworkEndpointScheduledTestResultsApi(unittest.TestCase): "conditionalOperator" : "and", "filters" : [ { "name" : "loss", - "value" : 10.0, + "value" : 10, "operator" : "gte" }, { "name" : "loss", - "value" : 10.0, + "value" : 10, "operator" : "gte" } ] } @@ -452,14 +452,14 @@ class TestNetworkEndpointScheduledTestResultsApi(unittest.TestCase): "agentId" : "861b7557-cd57-4bbb-b648-00bddf88ef49", "isIcmpBlocked" : true, "avgLatency" : 167.04, - "minLatency" : 167.0, + "minLatency" : 167, "vpnProfile" : { "vpnClientNetworkRange" : [ "9.88.37.27", "9.88.37.27" ], "vpnGatewayAddress" : "120.98.134.7", "vpnType" : "cisco-anyconnect", "vpnClientAddresses" : [ "184.81.113.85", "13.129.91.62" ] }, - "maxLatency" : 168.0, + "maxLatency" : 168, "batteryMetrics" : { "batteryLevel" : "medium", "batteryLevelNormalizedPercent" : 0.3 @@ -482,10 +482,10 @@ class TestNetworkEndpointScheduledTestResultsApi(unittest.TestCase): "sinr" : 20 }, "score" : { - "applicationScore" : 100.0, + "applicationScore" : 100, "quality" : "great" }, - "loss" : 0.0, + "loss" : 0, "systemMetrics" : { "cpuUtilization" : { "min" : 0.22, @@ -556,13 +556,13 @@ class TestNetworkEndpointScheduledTestResultsApi(unittest.TestCase): "gateway" : "10.0.0.1" }, "ztaMetrics" : [ { - "loss" : 50.0, + "loss" : 50, "jitter" : 5, "avgLatency" : 3, "errorMessage" : "ERR_NAME_NOT_RESOLVED", "type" : "zta_service" }, { - "loss" : 50.0, + "loss" : 50, "jitter" : 5, "avgLatency" : 3, "errorMessage" : "ERR_NAME_NOT_RESOLVED", @@ -581,14 +581,14 @@ class TestNetworkEndpointScheduledTestResultsApi(unittest.TestCase): "agentId" : "861b7557-cd57-4bbb-b648-00bddf88ef49", "isIcmpBlocked" : true, "avgLatency" : 167.04, - "minLatency" : 167.0, + "minLatency" : 167, "vpnProfile" : { "vpnClientNetworkRange" : [ "9.88.37.27", "9.88.37.27" ], "vpnGatewayAddress" : "120.98.134.7", "vpnType" : "cisco-anyconnect", "vpnClientAddresses" : [ "184.81.113.85", "13.129.91.62" ] }, - "maxLatency" : 168.0, + "maxLatency" : 168, "batteryMetrics" : { "batteryLevel" : "medium", "batteryLevelNormalizedPercent" : 0.3 @@ -611,10 +611,10 @@ class TestNetworkEndpointScheduledTestResultsApi(unittest.TestCase): "sinr" : 20 }, "score" : { - "applicationScore" : 100.0, + "applicationScore" : 100, "quality" : "great" }, - "loss" : 0.0, + "loss" : 0, "systemMetrics" : { "cpuUtilization" : { "min" : 0.22, @@ -685,13 +685,13 @@ class TestNetworkEndpointScheduledTestResultsApi(unittest.TestCase): "gateway" : "10.0.0.1" }, "ztaMetrics" : [ { - "loss" : 50.0, + "loss" : 50, "jitter" : 5, "avgLatency" : 3, "errorMessage" : "ERR_NAME_NOT_RESOLVED", "type" : "zta_service" }, { - "loss" : 50.0, + "loss" : 50, "jitter" : 5, "avgLatency" : 3, "errorMessage" : "ERR_NAME_NOT_RESOLVED", 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 4f814624..1f7b61cf 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 @@ -591,10 +591,10 @@ class TestRealUserEndpointTestResultsApi(unittest.TestCase): "count" : 10 }, "physicalMemoryUsedBytes" : { - "min" : 1.2805128192E10, - "max" : 1.2825530368E10, + "min" : 12805128192, + "max" : 12825530368, "mean" : 1.281914582109091E10, - "median" : 1.2818219008E10, + "median" : 12818219008, "stdDev" : 5741124.05691331, "count" : 11 }, @@ -663,7 +663,7 @@ class TestRealUserEndpointTestResultsApi(unittest.TestCase): "isIcmpBlocked" : true, "vpnPing" : { "maxRtt" : 66, - "loss" : 1.0, + "loss" : 1, "pktsReceived" : 10, "avgRtt" : 7, "meanDevRtt" : 11, @@ -674,7 +674,7 @@ class TestRealUserEndpointTestResultsApi(unittest.TestCase): }, "ping" : { "maxRtt" : 66, - "loss" : 1.0, + "loss" : 1, "pktsReceived" : 10, "avgRtt" : 7, "meanDevRtt" : 11, @@ -778,7 +778,7 @@ class TestRealUserEndpointTestResultsApi(unittest.TestCase): "connectRtt" : 77.777, "gatewayPing" : { "maxRtt" : 66, - "loss" : 1.0, + "loss" : 1, "pktsReceived" : 10, "avgRtt" : 7, "meanDevRtt" : 11, @@ -857,7 +857,7 @@ class TestRealUserEndpointTestResultsApi(unittest.TestCase): "isIcmpBlocked" : true, "vpnPing" : { "maxRtt" : 66, - "loss" : 1.0, + "loss" : 1, "pktsReceived" : 10, "avgRtt" : 7, "meanDevRtt" : 11, @@ -868,7 +868,7 @@ class TestRealUserEndpointTestResultsApi(unittest.TestCase): }, "ping" : { "maxRtt" : 66, - "loss" : 1.0, + "loss" : 1, "pktsReceived" : 10, "avgRtt" : 7, "meanDevRtt" : 11, @@ -972,7 +972,7 @@ class TestRealUserEndpointTestResultsApi(unittest.TestCase): "connectRtt" : 77.777, "gatewayPing" : { "maxRtt" : 66, - "loss" : 1.0, + "loss" : 1, "pktsReceived" : 10, "avgRtt" : 7, "meanDevRtt" : 11, diff --git a/thousandeyes-sdk-endpoint-tests/README.md b/thousandeyes-sdk-endpoint-tests/README.md index a2c87f73..6870dfdc 100644 --- a/thousandeyes-sdk-endpoint-tests/README.md +++ b/thousandeyes-sdk-endpoint-tests/README.md @@ -1,11 +1,10 @@ # thousandeyes-sdk-endpoint-tests - 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.84 +- API version: 7.0.88 - Generator version: 7.6.0 - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/__init__.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/__init__.py index 8205d834..14eea877 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/__init__.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/__init__.py @@ -5,7 +5,7 @@ """ Endpoint Tests API - Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. + Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/api/agent_to_server_endpoint_dynamic_tests_api.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/api/agent_to_server_endpoint_dynamic_tests_api.py index 47cd08b8..4703fb6e 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/api/agent_to_server_endpoint_dynamic_tests_api.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/api/agent_to_server_endpoint_dynamic_tests_api.py @@ -3,7 +3,7 @@ """ Endpoint Tests API - Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. + Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/api/agent_to_server_endpoint_scheduled_tests_api.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/api/agent_to_server_endpoint_scheduled_tests_api.py index e4181713..a5980b6d 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/api/agent_to_server_endpoint_scheduled_tests_api.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/api/agent_to_server_endpoint_scheduled_tests_api.py @@ -3,7 +3,7 @@ """ Endpoint Tests API - Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. + Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/api/endpoint_scheduled_tests_api.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/api/endpoint_scheduled_tests_api.py index 1daaf4a3..0f719ed7 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/api/endpoint_scheduled_tests_api.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/api/endpoint_scheduled_tests_api.py @@ -3,7 +3,7 @@ """ Endpoint Tests API - Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. + Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/api/http_server_endpoint_scheduled_tests_api.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/api/http_server_endpoint_scheduled_tests_api.py index eac35ab5..d8b46ef6 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/api/http_server_endpoint_scheduled_tests_api.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/api/http_server_endpoint_scheduled_tests_api.py @@ -3,7 +3,7 @@ """ Endpoint Tests API - Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. + Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/__init__.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/__init__.py index dcfa89b1..dabc87e2 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/__init__.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/__init__.py @@ -4,7 +4,7 @@ """ Endpoint Tests API - Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. + Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/dynamic_test.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/dynamic_test.py index 8a2a09e8..44366e5f 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/dynamic_test.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/dynamic_test.py @@ -3,7 +3,7 @@ """ Endpoint Tests API - Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. + Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/dynamic_test_links.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/dynamic_test_links.py index 97262245..e65d3d44 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/dynamic_test_links.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/dynamic_test_links.py @@ -3,7 +3,7 @@ """ Endpoint Tests API - Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. + Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/dynamic_test_request.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/dynamic_test_request.py index c3d67606..4aacca56 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/dynamic_test_request.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/dynamic_test_request.py @@ -3,7 +3,7 @@ """ Endpoint Tests API - Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. + Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/dynamic_test_self_link.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/dynamic_test_self_link.py index 2ce13cc5..4de586b9 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/dynamic_test_self_link.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/dynamic_test_self_link.py @@ -3,7 +3,7 @@ """ Endpoint Tests API - Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. + Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/dynamic_tests.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/dynamic_tests.py index 74bd6a74..d853bbe5 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/dynamic_tests.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/dynamic_tests.py @@ -3,7 +3,7 @@ """ Endpoint Tests API - Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. + Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_agent_labels_selector_config.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_agent_labels_selector_config.py index 32b7fb1e..e88ba5cc 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_agent_labels_selector_config.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_agent_labels_selector_config.py @@ -3,7 +3,7 @@ """ Endpoint Tests API - Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. + Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_agent_selector_config.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_agent_selector_config.py index 7fccbfe4..16f7ffe2 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_agent_selector_config.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_agent_selector_config.py @@ -3,7 +3,7 @@ """ Endpoint Tests API - Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. + Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_agent_to_server_instant_test.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_agent_to_server_instant_test.py index d4f95a56..78808c36 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_agent_to_server_instant_test.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_agent_to_server_instant_test.py @@ -3,7 +3,7 @@ """ Endpoint Tests API - Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. + Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_agent_to_server_test.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_agent_to_server_test.py index ba8144a7..9bce490b 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_agent_to_server_test.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_agent_to_server_test.py @@ -3,7 +3,7 @@ """ Endpoint Tests API - Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. + Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_agent_to_server_test_request.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_agent_to_server_test_request.py index fee9a28c..0d2750d2 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_agent_to_server_test_request.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_agent_to_server_test_request.py @@ -3,7 +3,7 @@ """ Endpoint Tests API - Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. + Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_agent_to_server_tests.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_agent_to_server_tests.py index acd92171..24d0e1f5 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_agent_to_server_tests.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_agent_to_server_tests.py @@ -3,7 +3,7 @@ """ Endpoint Tests API - Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. + Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_all_agents_selector_config.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_all_agents_selector_config.py index 159e53d0..de366874 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_all_agents_selector_config.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_all_agents_selector_config.py @@ -3,7 +3,7 @@ """ Endpoint Tests API - Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. + Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_dynamic_test_update.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_dynamic_test_update.py index fd6f8caf..bd8ad3d6 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_dynamic_test_update.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_dynamic_test_update.py @@ -3,7 +3,7 @@ """ Endpoint Tests API - Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. + Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_http_server_base_test.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_http_server_base_test.py index 46fd6aa3..1985074d 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_http_server_base_test.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_http_server_base_test.py @@ -3,7 +3,7 @@ """ Endpoint Tests API - Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. + Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_http_server_instant_test.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_http_server_instant_test.py index 3f87d688..6a76ac5c 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_http_server_instant_test.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_http_server_instant_test.py @@ -3,7 +3,7 @@ """ Endpoint Tests API - Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. + Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_http_server_test.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_http_server_test.py index a1bf7c6f..4bf3c5f7 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_http_server_test.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_http_server_test.py @@ -3,7 +3,7 @@ """ Endpoint Tests API - Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. + Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_http_server_test_request.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_http_server_test_request.py index 3fea1ae9..a3d075c5 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_http_server_test_request.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_http_server_test_request.py @@ -3,7 +3,7 @@ """ Endpoint Tests API - Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. + Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_http_server_tests.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_http_server_tests.py index d29a4502..4aa7ef93 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_http_server_tests.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_http_server_tests.py @@ -3,7 +3,7 @@ """ Endpoint Tests API - Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. + Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_http_test_update.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_http_test_update.py index dbcbc4a2..b1389742 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_http_test_update.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_http_test_update.py @@ -3,7 +3,7 @@ """ Endpoint Tests API - Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. + Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_instant_test.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_instant_test.py index 500e1cb3..ae256519 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_instant_test.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_instant_test.py @@ -3,7 +3,7 @@ """ Endpoint Tests API - Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. + Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_ip_version_in.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_ip_version_in.py index f622642c..a118ecab 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_ip_version_in.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_ip_version_in.py @@ -3,7 +3,7 @@ """ Endpoint Tests API - Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. + Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_network_test_update.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_network_test_update.py index b9a522ec..2c0a89f2 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_network_test_update.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_network_test_update.py @@ -3,7 +3,7 @@ """ Endpoint Tests API - Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. + Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_scheduled_test_type.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_scheduled_test_type.py index f8f7d072..e304c55d 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_scheduled_test_type.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_scheduled_test_type.py @@ -3,7 +3,7 @@ """ Endpoint Tests API - Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. + Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_specific_agents_selector_config.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_specific_agents_selector_config.py index ee0440af..40db10c4 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_specific_agents_selector_config.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_specific_agents_selector_config.py @@ -3,7 +3,7 @@ """ Endpoint Tests API - Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. + Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_test.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_test.py index b62c65df..5dec85c9 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_test.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_test.py @@ -3,7 +3,7 @@ """ Endpoint Tests API - Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. + Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_test_agent_selector_type.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_test_agent_selector_type.py index 3a7067f7..4c58749a 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_test_agent_selector_type.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_test_agent_selector_type.py @@ -3,7 +3,7 @@ """ Endpoint Tests API - Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. + Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_test_auth_type.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_test_auth_type.py index 6a82c30a..a00904cc 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_test_auth_type.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_test_auth_type.py @@ -3,7 +3,7 @@ """ Endpoint Tests API - Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. + Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_test_links.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_test_links.py index 22f2b103..62e675b4 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_test_links.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_test_links.py @@ -3,7 +3,7 @@ """ Endpoint Tests API - Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. + Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_test_protocol.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_test_protocol.py index 507d4706..391e1be9 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_test_protocol.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_test_protocol.py @@ -3,7 +3,7 @@ """ Endpoint Tests API - Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. + Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_test_self_link.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_test_self_link.py index 07f2c7ed..383bce3d 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_test_self_link.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_test_self_link.py @@ -3,7 +3,7 @@ """ Endpoint Tests API - Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. + Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_tests.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_tests.py index ffca9f75..7e005a8e 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_tests.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_tests.py @@ -3,7 +3,7 @@ """ Endpoint Tests API - Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. + Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/error.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/error.py index 84035583..2cb75e4e 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/error.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/error.py @@ -3,7 +3,7 @@ """ Endpoint Tests API - Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. + Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/link.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/link.py index 367b909e..fd179e01 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/link.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/link.py @@ -3,7 +3,7 @@ """ Endpoint Tests API - Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. + Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/self_links.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/self_links.py index 65a93e63..dc12e6d0 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/self_links.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/self_links.py @@ -3,7 +3,7 @@ """ Endpoint Tests API - Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. + Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/test_interval.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/test_interval.py index 44ab28b6..bda77762 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/test_interval.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/test_interval.py @@ -3,7 +3,7 @@ """ Endpoint Tests API - Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. + Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/test_label.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/test_label.py index bef60095..69cff5ac 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/test_label.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/test_label.py @@ -3,7 +3,7 @@ """ Endpoint Tests API - Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. + Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/test_probe_mode.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/test_probe_mode.py index 96ec3b76..1461840d 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/test_probe_mode.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/test_probe_mode.py @@ -3,7 +3,7 @@ """ Endpoint Tests API - Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. + Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/test_probe_mode_response.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/test_probe_mode_response.py index 38068d8e..757196ff 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/test_probe_mode_response.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/test_probe_mode_response.py @@ -3,7 +3,7 @@ """ Endpoint Tests API - Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. + Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/test_ssl_version_id.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/test_ssl_version_id.py index 6ebd495f..9057db39 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/test_ssl_version_id.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/test_ssl_version_id.py @@ -3,7 +3,7 @@ """ Endpoint Tests API - Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. + Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/test_update.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/test_update.py index b052471d..ed77949b 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/test_update.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/test_update.py @@ -3,7 +3,7 @@ """ Endpoint Tests API - Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. + Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/unauthorized_error.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/unauthorized_error.py index 193dc77d..1496c80a 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/unauthorized_error.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/unauthorized_error.py @@ -3,7 +3,7 @@ """ Endpoint Tests API - Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. + Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/validation_error.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/validation_error.py index 95f514a5..15736e1c 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/validation_error.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/validation_error.py @@ -3,7 +3,7 @@ """ Endpoint Tests API - Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. + Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/validation_error_item.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/validation_error_item.py index c0530013..6ed336d6 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/validation_error_item.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/validation_error_item.py @@ -3,7 +3,7 @@ """ Endpoint Tests API - Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. + Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-tests/test/test_agent_to_server_endpoint_dynamic_tests_api.py b/thousandeyes-sdk-endpoint-tests/test/test_agent_to_server_endpoint_dynamic_tests_api.py index e8fb9d47..566793a9 100644 --- a/thousandeyes-sdk-endpoint-tests/test/test_agent_to_server_endpoint_dynamic_tests_api.py +++ b/thousandeyes-sdk-endpoint-tests/test/test_agent_to_server_endpoint_dynamic_tests_api.py @@ -3,7 +3,7 @@ """ Endpoint Tests API - Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. + Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-tests/test/test_agent_to_server_endpoint_scheduled_tests_api.py b/thousandeyes-sdk-endpoint-tests/test/test_agent_to_server_endpoint_scheduled_tests_api.py index c6a8872e..f6edbe95 100644 --- a/thousandeyes-sdk-endpoint-tests/test/test_agent_to_server_endpoint_scheduled_tests_api.py +++ b/thousandeyes-sdk-endpoint-tests/test/test_agent_to_server_endpoint_scheduled_tests_api.py @@ -3,7 +3,7 @@ """ Endpoint Tests API - Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. + Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-tests/test/test_endpoint_scheduled_tests_api.py b/thousandeyes-sdk-endpoint-tests/test/test_endpoint_scheduled_tests_api.py index a869c3f6..da4704e8 100644 --- a/thousandeyes-sdk-endpoint-tests/test/test_endpoint_scheduled_tests_api.py +++ b/thousandeyes-sdk-endpoint-tests/test/test_endpoint_scheduled_tests_api.py @@ -3,7 +3,7 @@ """ Endpoint Tests API - Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. + Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-endpoint-tests/test/test_http_server_endpoint_scheduled_tests_api.py b/thousandeyes-sdk-endpoint-tests/test/test_http_server_endpoint_scheduled_tests_api.py index cac6ff5f..ea1f5742 100644 --- a/thousandeyes-sdk-endpoint-tests/test/test_http_server_endpoint_scheduled_tests_api.py +++ b/thousandeyes-sdk-endpoint-tests/test/test_http_server_endpoint_scheduled_tests_api.py @@ -3,7 +3,7 @@ """ Endpoint Tests API - Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. + Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-event-detection/README.md b/thousandeyes-sdk-event-detection/README.md index 88f6eed7..28f9e0de 100644 --- a/thousandeyes-sdk-event-detection/README.md +++ b/thousandeyes-sdk-event-detection/README.md @@ -1,5 +1,4 @@ # thousandeyes-sdk-event-detection - Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). @@ -12,7 +11,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.84 +- API version: 7.0.88 - Generator version: 7.6.0 - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/__init__.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/__init__.py index 2423650d..17bb8149 100644 --- a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/__init__.py +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/__init__.py @@ -5,7 +5,7 @@ """ Event Detection API - Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/api/events_api.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/api/events_api.py index 84022d08..afd97f04 100644 --- a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/api/events_api.py +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/api/events_api.py @@ -3,7 +3,7 @@ """ Event Detection API - Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/__init__.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/__init__.py index e5cb57b6..c9364bdd 100644 --- a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/__init__.py +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/__init__.py @@ -4,7 +4,7 @@ """ Event Detection API - Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/affected_agents.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/affected_agents.py index 357aaf2c..70d8e106 100644 --- a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/affected_agents.py +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/affected_agents.py @@ -3,7 +3,7 @@ """ Event Detection API - Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/affected_count.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/affected_count.py index 2a3d9ea2..5f4bd614 100644 --- a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/affected_count.py +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/affected_count.py @@ -3,7 +3,7 @@ """ Event Detection API - Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/affected_targets.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/affected_targets.py index 94e4f8af..a87e985a 100644 --- a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/affected_targets.py +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/affected_targets.py @@ -3,7 +3,7 @@ """ Event Detection API - Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/affected_tests.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/affected_tests.py index 83ad4761..7720f1cc 100644 --- a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/affected_tests.py +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/affected_tests.py @@ -3,7 +3,7 @@ """ Event Detection API - Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/agent_links.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/agent_links.py index bf6afe91..57108970 100644 --- a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/agent_links.py +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/agent_links.py @@ -3,7 +3,7 @@ """ Event Detection API - Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/agent_local_event_detail.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/agent_local_event_detail.py index 1e71172e..3f3be028 100644 --- a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/agent_local_event_detail.py +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/agent_local_event_detail.py @@ -3,7 +3,7 @@ """ Event Detection API - Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/agent_local_event_grouping.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/agent_local_event_grouping.py index 4dabec0f..41902daf 100644 --- a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/agent_local_event_grouping.py +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/agent_local_event_grouping.py @@ -3,7 +3,7 @@ """ Event Detection API - Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/api_affected_target.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/api_affected_target.py index 1758bb1d..051be3e1 100644 --- a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/api_affected_target.py +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/api_affected_target.py @@ -3,7 +3,7 @@ """ Event Detection API - Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/cloud_enterprise_agent_type.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/cloud_enterprise_agent_type.py index a31f096e..ff2ca4ae 100644 --- a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/cloud_enterprise_agent_type.py +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/cloud_enterprise_agent_type.py @@ -3,7 +3,7 @@ """ Event Detection API - Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/dns_event_detail.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/dns_event_detail.py index ee25b8b4..c8bde281 100644 --- a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/dns_event_detail.py +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/dns_event_detail.py @@ -3,7 +3,7 @@ """ Event Detection API - Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/dns_event_grouping.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/dns_event_grouping.py index dc29be18..bc0e79bd 100644 --- a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/dns_event_grouping.py +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/dns_event_grouping.py @@ -3,7 +3,7 @@ """ Event Detection API - Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/error.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/error.py index b2a22889..84f22106 100644 --- a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/error.py +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/error.py @@ -3,7 +3,7 @@ """ Event Detection API - Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/event.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/event.py index 9ad5c96b..14dfdd75 100644 --- a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/event.py +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/event.py @@ -3,7 +3,7 @@ """ Event Detection API - Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/event_alert_severity.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/event_alert_severity.py index 1fa542f2..9f118e94 100644 --- a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/event_alert_severity.py +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/event_alert_severity.py @@ -3,7 +3,7 @@ """ Event Detection API - Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/event_api_affected_agent.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/event_api_affected_agent.py index fa8f4b1f..5192944c 100644 --- a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/event_api_affected_agent.py +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/event_api_affected_agent.py @@ -3,7 +3,7 @@ """ Event Detection API - Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/event_api_affected_test.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/event_api_affected_test.py index 1027e216..d32f3621 100644 --- a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/event_api_affected_test.py +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/event_api_affected_test.py @@ -3,7 +3,7 @@ """ Event Detection API - Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/event_detail.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/event_detail.py index b18b8cd5..45283f05 100644 --- a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/event_detail.py +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/event_detail.py @@ -3,7 +3,7 @@ """ Event Detection API - Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/event_detail_base.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/event_detail_base.py index 70fa92ec..b7186650 100644 --- a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/event_detail_base.py +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/event_detail_base.py @@ -3,7 +3,7 @@ """ Event Detection API - Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/event_state.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/event_state.py index 9d38a8d0..6fd8c4a6 100644 --- a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/event_state.py +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/event_state.py @@ -3,7 +3,7 @@ """ Event Detection API - Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/event_test_links.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/event_test_links.py index 289488cc..b425ccba 100644 --- a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/event_test_links.py +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/event_test_links.py @@ -3,7 +3,7 @@ """ Event Detection API - Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/event_type.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/event_type.py index a1dbf0cf..c9688b51 100644 --- a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/event_type.py +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/event_type.py @@ -3,7 +3,7 @@ """ Event Detection API - Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/events.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/events.py index afbc8042..51ad9318 100644 --- a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/events.py +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/events.py @@ -3,7 +3,7 @@ """ Event Detection API - Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/link.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/link.py index 55f53be5..93fc7f0f 100644 --- a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/link.py +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/link.py @@ -3,7 +3,7 @@ """ Event Detection API - Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/network_event_detail.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/network_event_detail.py index 712b69c3..39be2a50 100644 --- a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/network_event_detail.py +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/network_event_detail.py @@ -3,7 +3,7 @@ """ Event Detection API - Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/network_event_grouping.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/network_event_grouping.py index 87233748..ace88027 100644 --- a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/network_event_grouping.py +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/network_event_grouping.py @@ -3,7 +3,7 @@ """ Event Detection API - Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/network_pop_event_detail.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/network_pop_event_detail.py index bd22fed6..f1c631f0 100644 --- a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/network_pop_event_detail.py +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/network_pop_event_detail.py @@ -3,7 +3,7 @@ """ Event Detection API - Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/pagination_next_and_self_links.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/pagination_next_and_self_links.py index 4faaf2fb..a30ead1c 100644 --- a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/pagination_next_and_self_links.py +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/pagination_next_and_self_links.py @@ -3,7 +3,7 @@ """ Event Detection API - Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/proxy_event_detail.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/proxy_event_detail.py index 9f07753c..c7f0a032 100644 --- a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/proxy_event_detail.py +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/proxy_event_detail.py @@ -3,7 +3,7 @@ """ Event Detection API - Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/proxy_event_grouping.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/proxy_event_grouping.py index bdf635e4..105459bd 100644 --- a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/proxy_event_grouping.py +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/proxy_event_grouping.py @@ -3,7 +3,7 @@ """ Event Detection API - Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/self_links.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/self_links.py index 5a584b76..4d96cb48 100644 --- a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/self_links.py +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/self_links.py @@ -3,7 +3,7 @@ """ Event Detection API - Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/simple_event_detail.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/simple_event_detail.py index 87505bb7..5d6e39b0 100644 --- a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/simple_event_detail.py +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/simple_event_detail.py @@ -3,7 +3,7 @@ """ Event Detection API - Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/target_event_detail.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/target_event_detail.py index ffec8024..ef1117a5 100644 --- a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/target_event_detail.py +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/target_event_detail.py @@ -3,7 +3,7 @@ """ Event Detection API - Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/target_event_grouping.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/target_event_grouping.py index 6bebce00..19f1dcb4 100644 --- a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/target_event_grouping.py +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/target_event_grouping.py @@ -3,7 +3,7 @@ """ Event Detection API - Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/target_network_event_detail.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/target_network_event_detail.py index 9e0f15df..038c06c2 100644 --- a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/target_network_event_detail.py +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/target_network_event_detail.py @@ -3,7 +3,7 @@ """ Event Detection API - Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/target_network_event_grouping.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/target_network_event_grouping.py index f1ff83ae..9dc7d2aa 100644 --- a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/target_network_event_grouping.py +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/target_network_event_grouping.py @@ -3,7 +3,7 @@ """ Event Detection API - Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/test_type.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/test_type.py index 881095a4..22474310 100644 --- a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/test_type.py +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/test_type.py @@ -3,7 +3,7 @@ """ Event Detection API - Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/unauthorized_error.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/unauthorized_error.py index 5788a83f..0e7bf008 100644 --- a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/unauthorized_error.py +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/unauthorized_error.py @@ -3,7 +3,7 @@ """ Event Detection API - Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/validation_error.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/validation_error.py index a8b74816..9f918ba2 100644 --- a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/validation_error.py +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/validation_error.py @@ -3,7 +3,7 @@ """ Event Detection API - Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/validation_error_item.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/validation_error_item.py index e2632ca8..8a8c6f88 100644 --- a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/validation_error_item.py +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/validation_error_item.py @@ -3,7 +3,7 @@ """ Event Detection API - Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-event-detection/test/test_events_api.py b/thousandeyes-sdk-event-detection/test/test_events_api.py index faa281c5..aed81efb 100644 --- a/thousandeyes-sdk-event-detection/test/test_events_api.py +++ b/thousandeyes-sdk-event-detection/test/test_events_api.py @@ -3,7 +3,7 @@ """ Event Detection API - Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-instant-tests/.openapi-generator/FILES b/thousandeyes-sdk-instant-tests/.openapi-generator/FILES index 07ca4cc5..d2a5a6da 100644 --- a/thousandeyes-sdk-instant-tests/.openapi-generator/FILES +++ b/thousandeyes-sdk-instant-tests/.openapi-generator/FILES @@ -45,7 +45,7 @@ docs/DnsServerInstantTest.md docs/DnsServerInstantTestRequest.md docs/DnsServerInstantTestResponse.md docs/DnsServerProperties.md -docs/DnsServersRequest.md +docs/DnsServerRequestProperties.md docs/DnsTraceInstantTest.md docs/DnsTraceInstantTestRequest.md docs/DnsTraceInstantTestResponse.md @@ -69,6 +69,8 @@ docs/InstantTest.md docs/InstantTestRequest.md docs/InstantTestsApi.md docs/Link.md +docs/NetworkProviderInfo.md +docs/NetworkProviderType.md docs/OAuth.md docs/OAuthAuthType.md docs/OAuthRequestMethod.md @@ -102,6 +104,8 @@ docs/TestSelfLink.md docs/TestSipCredentials.md docs/TestSslVersionId.md docs/TestType.md +docs/TestVaultCredential.md +docs/TestVaultCredentialTarget.md docs/UnauthorizedError.md docs/UnexpandedInstantTest.md docs/ValidationError.md @@ -172,7 +176,7 @@ src/thousandeyes_sdk/instant_tests/models/dns_server_instant_test.py src/thousandeyes_sdk/instant_tests/models/dns_server_instant_test_request.py src/thousandeyes_sdk/instant_tests/models/dns_server_instant_test_response.py src/thousandeyes_sdk/instant_tests/models/dns_server_properties.py -src/thousandeyes_sdk/instant_tests/models/dns_servers_request.py +src/thousandeyes_sdk/instant_tests/models/dns_server_request_properties.py src/thousandeyes_sdk/instant_tests/models/dns_trace_instant_test.py src/thousandeyes_sdk/instant_tests/models/dns_trace_instant_test_request.py src/thousandeyes_sdk/instant_tests/models/dns_trace_instant_test_response.py @@ -192,6 +196,8 @@ src/thousandeyes_sdk/instant_tests/models/http_server_properties.py src/thousandeyes_sdk/instant_tests/models/instant_test.py src/thousandeyes_sdk/instant_tests/models/instant_test_request.py src/thousandeyes_sdk/instant_tests/models/link.py +src/thousandeyes_sdk/instant_tests/models/network_provider_info.py +src/thousandeyes_sdk/instant_tests/models/network_provider_type.py src/thousandeyes_sdk/instant_tests/models/o_auth.py src/thousandeyes_sdk/instant_tests/models/o_auth_auth_type.py src/thousandeyes_sdk/instant_tests/models/o_auth_request_method.py @@ -224,6 +230,8 @@ src/thousandeyes_sdk/instant_tests/models/test_self_link.py src/thousandeyes_sdk/instant_tests/models/test_sip_credentials.py src/thousandeyes_sdk/instant_tests/models/test_ssl_version_id.py src/thousandeyes_sdk/instant_tests/models/test_type.py +src/thousandeyes_sdk/instant_tests/models/test_vault_credential.py +src/thousandeyes_sdk/instant_tests/models/test_vault_credential_target.py src/thousandeyes_sdk/instant_tests/models/unauthorized_error.py src/thousandeyes_sdk/instant_tests/models/unexpanded_instant_test.py src/thousandeyes_sdk/instant_tests/models/validation_error.py diff --git a/thousandeyes-sdk-instant-tests/README.md b/thousandeyes-sdk-instant-tests/README.md index a0c579a3..5d6a1ef8 100644 --- a/thousandeyes-sdk-instant-tests/README.md +++ b/thousandeyes-sdk-instant-tests/README.md @@ -6,7 +6,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.84 +- API version: 7.0.88 - Generator version: 7.6.0 - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator @@ -154,7 +154,7 @@ Class | Method | HTTP request | Description - [DnsServerInstantTestRequest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/DnsServerInstantTestRequest.md) - [DnsServerInstantTestResponse](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/DnsServerInstantTestResponse.md) - [DnsServerProperties](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/DnsServerProperties.md) - - [DnsServersRequest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/DnsServersRequest.md) + - [DnsServerRequestProperties](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/DnsServerRequestProperties.md) - [DnsTraceInstantTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/DnsTraceInstantTest.md) - [DnsTraceInstantTestRequest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/DnsTraceInstantTestRequest.md) - [DnsTraceInstantTestResponse](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/DnsTraceInstantTestResponse.md) @@ -174,6 +174,8 @@ Class | Method | HTTP request | Description - [InstantTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/InstantTest.md) - [InstantTestRequest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/InstantTestRequest.md) - [Link](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/Link.md) + - [NetworkProviderInfo](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/NetworkProviderInfo.md) + - [NetworkProviderType](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/NetworkProviderType.md) - [OAuth](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/OAuth.md) - [OAuthAuthType](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/OAuthAuthType.md) - [OAuthRequestMethod](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/OAuthRequestMethod.md) @@ -206,6 +208,8 @@ Class | Method | HTTP request | Description - [TestSipCredentials](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/TestSipCredentials.md) - [TestSslVersionId](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/TestSslVersionId.md) - [TestType](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/TestType.md) + - [TestVaultCredential](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/TestVaultCredential.md) + - [TestVaultCredentialTarget](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/TestVaultCredentialTarget.md) - [UnauthorizedError](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/UnauthorizedError.md) - [UnexpandedInstantTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/UnexpandedInstantTest.md) - [ValidationError](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/ValidationError.md) diff --git a/thousandeyes-sdk-instant-tests/docs/AgentResponse.md b/thousandeyes-sdk-instant-tests/docs/AgentResponse.md index 50333bdd..d6acddd6 100644 --- a/thousandeyes-sdk-instant-tests/docs/AgentResponse.md +++ b/thousandeyes-sdk-instant-tests/docs/AgentResponse.md @@ -13,9 +13,10 @@ Name | Type | Description | Notes **location** | **str** | Location of the agent. | [optional] [readonly] **country_id** | **str** | 2-digit ISO country code | [optional] [readonly] **coordinates** | [**Coordinates**](Coordinates.md) | | [optional] +**network_provider_info** | [**NetworkProviderInfo**](NetworkProviderInfo.md) | | [optional] [readonly] **enabled** | **bool** | Flag indicating if the agent is enabled. | [optional] -**prefix** | **str** | Prefix containing agents public IP address. | [optional] [readonly] **verify_ssl_certificates** | **bool** | Flag indicating if has normal SSL operations or if instead it's set to ignore SSL errors on browserbot-based tests. | [optional] [readonly] +**prefix** | **str** | Prefix containing agents public IP address. | [optional] [readonly] **agent_type** | [**CloudEnterpriseAgentType**](CloudEnterpriseAgentType.md) | | ## Example diff --git a/thousandeyes-sdk-instant-tests/docs/AgentToAgentInstantTestRequest.md b/thousandeyes-sdk-instant-tests/docs/AgentToAgentInstantTestRequest.md index d63d0755..8c9f2cd6 100644 --- a/thousandeyes-sdk-instant-tests/docs/AgentToAgentInstantTestRequest.md +++ b/thousandeyes-sdk-instant-tests/docs/AgentToAgentInstantTestRequest.md @@ -16,8 +16,6 @@ Name | Type | Description | Notes **test_name** | **str** | The name of the test. Test name must be unique. | [optional] **type** | **str** | | [optional] [readonly] **links** | [**TestLinks**](TestLinks.md) | | [optional] -**labels** | **List[str]** | A list of test label identifiers (get `labelId` from `/labels` endpoint). | [optional] -**shared_with_accounts** | **List[str]** | A list of account group identifiers that the test is shared with (get `aid` from `/account-groups` endpoint). | [optional] **direction** | [**TestDirection**](TestDirection.md) | | [optional] **dscp** | **str** | DSCP label. | [optional] [readonly] **dscp_id** | [**TestDscpId**](TestDscpId.md) | | [optional] @@ -32,7 +30,9 @@ Name | Type | Description | Notes **throughput_duration** | **int** | The throughput duration. | [optional] [default to 10000] **throughput_rate** | **int** | The throughput rate, only applicable for UDP protocol. | [optional] **fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] +**labels** | **List[str]** | A list of test label identifiers (get `labelId` from `/labels` endpoint). | [optional] **tags** | **List[str]** | A list of test tag identifiers (get `id` from `/tags` endpoint). | [optional] +**shared_with_accounts** | **List[str]** | A list of account group identifiers that the test is shared with (get `aid` from `/account-groups` endpoint). | [optional] **agents** | [**List[TestAgent]**](TestAgent.md) | A list of objects with `agentId` (required) and `sourceIpAddress` (optional). | ## Example diff --git a/thousandeyes-sdk-instant-tests/docs/AgentToServerInstantTestRequest.md b/thousandeyes-sdk-instant-tests/docs/AgentToServerInstantTestRequest.md index 8e0024d1..6e24e35e 100644 --- a/thousandeyes-sdk-instant-tests/docs/AgentToServerInstantTestRequest.md +++ b/thousandeyes-sdk-instant-tests/docs/AgentToServerInstantTestRequest.md @@ -16,8 +16,6 @@ Name | Type | Description | Notes **test_name** | **str** | The name of the test. Test name must be unique. | [optional] **type** | **str** | | [optional] [readonly] **links** | [**TestLinks**](TestLinks.md) | | [optional] -**labels** | **List[str]** | A list of test label identifiers (get `labelId` from `/labels` endpoint). | [optional] -**shared_with_accounts** | **List[str]** | A list of account group identifiers that the test is shared with (get `aid` from `/account-groups` endpoint). | [optional] **bandwidth_measurements** | **bool** | Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test. | [optional] **continuous_mode** | **bool** | To enable continuous monitoring, set this parameter to `true` to. When continuous monitoring is enabled, the following actions occur: * `fixedPacketRate` is enforced * `bandwidthMeasurements` are disabled * If the `protocol` is set to `tcp`, `probeMode` is set to `syn`. | [optional] **fixed_packet_rate** | **int** | If continuousMode is `false`, set the fixedPacketRate to a value between 10-100. If `continuousMode` is `true`, set the `fixedPacketRate` to `1` | [optional] @@ -33,7 +31,9 @@ Name | Type | Description | Notes **ipv6_policy** | [**TestIpv6Policy**](TestIpv6Policy.md) | | [optional] **ping_payload_size** | **int** | Payload size (not total packet size) for the end-to-end metric's probes, ping payload size allows values from 0 to 1400 bytes. When set to null, payload sizes are 0 bytes for ICMP-based tests and 1 byte for TCP-based tests. | [optional] **network_measurements** | **bool** | View packet loss in 1-second intervals. This is only available for 1-minute interval tests. Set to `true` to enable network measurements. | [optional] [default to False] +**labels** | **List[str]** | A list of test label identifiers (get `labelId` from `/labels` endpoint). | [optional] **tags** | **List[str]** | A list of test tag identifiers (get `id` from `/tags` endpoint). | [optional] +**shared_with_accounts** | **List[str]** | A list of account group identifiers that the test is shared with (get `aid` from `/account-groups` endpoint). | [optional] **agents** | [**List[TestAgent]**](TestAgent.md) | A list of objects with `agentId` (required) and `sourceIpAddress` (optional). | ## Example diff --git a/thousandeyes-sdk-instant-tests/docs/ApiInstantTest.md b/thousandeyes-sdk-instant-tests/docs/ApiInstantTest.md index ca458b50..48920934 100644 --- a/thousandeyes-sdk-instant-tests/docs/ApiInstantTest.md +++ b/thousandeyes-sdk-instant-tests/docs/ApiInstantTest.md @@ -39,6 +39,7 @@ Name | Type | Description | Notes **time_limit** | **int** | Time limit for transaction in seconds. Exceeding this limit will result in a Timeout error. | [optional] [default to 30] **url** | **str** | Target for the test. | **credentials** | **List[str]** | Contains a list of credential IDs (get `credentialId` from `/credentials` endpoint). | [optional] +**vault_credentials** | [**List[TestVaultCredential]**](TestVaultCredential.md) | List of credential IDs that are stored in an external vault. | [optional] ## Example diff --git a/thousandeyes-sdk-instant-tests/docs/ApiInstantTestRequest.md b/thousandeyes-sdk-instant-tests/docs/ApiInstantTestRequest.md index 6f2882dd..dadebb5f 100644 --- a/thousandeyes-sdk-instant-tests/docs/ApiInstantTestRequest.md +++ b/thousandeyes-sdk-instant-tests/docs/ApiInstantTestRequest.md @@ -16,8 +16,6 @@ Name | Type | Description | Notes **test_name** | **str** | The name of the test. Test name must be unique. | [optional] **type** | **str** | | [optional] [readonly] **links** | [**TestLinks**](TestLinks.md) | | [optional] -**labels** | **List[str]** | A list of test label identifiers (get `labelId` from `/labels` endpoint). | [optional] -**shared_with_accounts** | **List[str]** | A list of account group identifiers that the test is shared with (get `aid` from `/account-groups` endpoint). | [optional] **client_certificate** | **str** | String representation (containing newline characters) of client certificate, the private key must be placed first, then the certificate. | [optional] **client_cert_domains_allow_list** | **str** | Comma separated list of domains to send the client certificate. | [optional] **collect_proxy_network_data** | **bool** | Indicates whether network data to the proxy should be collected. | [optional] [default to False] @@ -38,9 +36,12 @@ Name | Type | Description | Notes **target_time** | **int** | Target time for completion metric, defaults to 50% of time limit specified in seconds. (0 means default behavior) | [optional] **time_limit** | **int** | Time limit for transaction in seconds. Exceeding this limit will result in a Timeout error. | [optional] [default to 30] **url** | **str** | Target for the test. | -**credentials** | **List[str]** | Contains a list of credential IDs (get `credentialId` from `/credentials` endpoint). | [optional] +**labels** | **List[str]** | A list of test label identifiers (get `labelId` from `/labels` endpoint). | [optional] **tags** | **List[str]** | A list of test tag identifiers (get `id` from `/tags` endpoint). | [optional] +**shared_with_accounts** | **List[str]** | A list of account group identifiers that the test is shared with (get `aid` from `/account-groups` endpoint). | [optional] **agents** | [**List[TestAgent]**](TestAgent.md) | A list of objects with `agentId` (required) and `sourceIpAddress` (optional). | +**credentials** | **List[str]** | Contains a list of credential IDs (get `credentialId` from `/credentials` endpoint). | [optional] +**vault_credentials** | [**List[TestVaultCredential]**](TestVaultCredential.md) | List of credential IDs that are stored in an external vault. | [optional] ## Example diff --git a/thousandeyes-sdk-instant-tests/docs/ApiInstantTestResponse.md b/thousandeyes-sdk-instant-tests/docs/ApiInstantTestResponse.md index 3ef2b6f3..44f61520 100644 --- a/thousandeyes-sdk-instant-tests/docs/ApiInstantTestResponse.md +++ b/thousandeyes-sdk-instant-tests/docs/ApiInstantTestResponse.md @@ -39,6 +39,7 @@ Name | Type | Description | Notes **time_limit** | **int** | Time limit for transaction in seconds. Exceeding this limit will result in a Timeout error. | [optional] [default to 30] **url** | **str** | Target for the test. | **credentials** | **List[str]** | Contains a list of credential IDs (get `credentialId` from `/credentials` endpoint). | [optional] +**vault_credentials** | [**List[TestVaultCredential]**](TestVaultCredential.md) | List of credential IDs that are stored in an external vault. | [optional] **agents** | [**List[AgentResponse]**](AgentResponse.md) | Contains list of agents. | [optional] ## Example diff --git a/thousandeyes-sdk-instant-tests/docs/DnsSecInstantTestRequest.md b/thousandeyes-sdk-instant-tests/docs/DnsSecInstantTestRequest.md index 58b03f19..563ec353 100644 --- a/thousandeyes-sdk-instant-tests/docs/DnsSecInstantTestRequest.md +++ b/thousandeyes-sdk-instant-tests/docs/DnsSecInstantTestRequest.md @@ -16,12 +16,12 @@ Name | Type | Description | Notes **test_name** | **str** | The name of the test. Test name must be unique. | [optional] **type** | **str** | | [optional] [readonly] **links** | [**TestLinks**](TestLinks.md) | | [optional] -**labels** | **List[str]** | A list of test label identifiers (get `labelId` from `/labels` endpoint). | [optional] -**shared_with_accounts** | **List[str]** | A list of account group identifiers that the test is shared with (get `aid` from `/account-groups` endpoint). | [optional] **domain** | **str** | The target record for the test, with the record type suffixed. If no record type is specified, the test defaults to an ANY record. | **dns_query_class** | [**DnsQueryClass**](DnsQueryClass.md) | | [optional] **randomized_start_time** | **bool** | Indicates whether agents should randomize the start time in each test round. | [optional] [default to False] +**labels** | **List[str]** | A list of test label identifiers (get `labelId` from `/labels` endpoint). | [optional] **tags** | **List[str]** | A list of test tag identifiers (get `id` from `/tags` endpoint). | [optional] +**shared_with_accounts** | **List[str]** | A list of account group identifiers that the test is shared with (get `aid` from `/account-groups` endpoint). | [optional] **agents** | [**List[TestAgent]**](TestAgent.md) | A list of objects with `agentId` (required) and `sourceIpAddress` (optional). | ## Example diff --git a/thousandeyes-sdk-instant-tests/docs/DnsServerInstantTestRequest.md b/thousandeyes-sdk-instant-tests/docs/DnsServerInstantTestRequest.md index bd7919d8..47eb8219 100644 --- a/thousandeyes-sdk-instant-tests/docs/DnsServerInstantTestRequest.md +++ b/thousandeyes-sdk-instant-tests/docs/DnsServerInstantTestRequest.md @@ -16,8 +16,6 @@ Name | Type | Description | Notes **test_name** | **str** | The name of the test. Test name must be unique. | [optional] **type** | **str** | | [optional] [readonly] **links** | [**TestLinks**](TestLinks.md) | | [optional] -**labels** | **List[str]** | A list of test label identifiers (get `labelId` from `/labels` endpoint). | [optional] -**shared_with_accounts** | **List[str]** | A list of account group identifiers that the test is shared with (get `aid` from `/account-groups` endpoint). | [optional] **bandwidth_measurements** | **bool** | Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test. | [optional] **dns_servers** | **List[str]** | A list of DNS server FQDN. | **dns_transport_protocol** | [**TestDnsTransportProtocol**](TestDnsTransportProtocol.md) | | [optional] @@ -33,7 +31,9 @@ Name | Type | Description | Notes **ipv6_policy** | [**TestIpv6Policy**](TestIpv6Policy.md) | | [optional] **fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] **dns_query_class** | [**DnsQueryClass**](DnsQueryClass.md) | | [optional] +**labels** | **List[str]** | A list of test label identifiers (get `labelId` from `/labels` endpoint). | [optional] **tags** | **List[str]** | A list of test tag identifiers (get `id` from `/tags` endpoint). | [optional] +**shared_with_accounts** | **List[str]** | A list of account group identifiers that the test is shared with (get `aid` from `/account-groups` endpoint). | [optional] **agents** | [**List[TestAgent]**](TestAgent.md) | A list of objects with `agentId` (required) and `sourceIpAddress` (optional). | ## Example diff --git a/thousandeyes-sdk-instant-tests/docs/DnsServerRequestProperties.md b/thousandeyes-sdk-instant-tests/docs/DnsServerRequestProperties.md new file mode 100644 index 00000000..3276effa --- /dev/null +++ b/thousandeyes-sdk-instant-tests/docs/DnsServerRequestProperties.md @@ -0,0 +1,44 @@ +# DnsServerRequestProperties + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**bandwidth_measurements** | **bool** | Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test. | [optional] +**dns_servers** | **List[str]** | A list of DNS server FQDN. | +**dns_transport_protocol** | [**TestDnsTransportProtocol**](TestDnsTransportProtocol.md) | | [optional] +**domain** | **str** | The target record for the test, with the record type suffixed. If no record type is specified, the test defaults to an ANY record. | +**mtu_measurements** | **bool** | Set `true` to measure MTU sizes on network from agents to the target. | [optional] +**network_measurements** | **bool** | Enable or disable network measurements. Set to true to enable or false to disable network measurements. | [optional] [default to True] +**num_path_traces** | **int** | Number of path traces executed by the agent. | [optional] [default to 3] +**path_trace_mode** | [**TestPathTraceMode**](TestPathTraceMode.md) | | [optional] +**probe_mode** | [**TestProbeMode**](TestProbeMode.md) | | [optional] +**protocol** | [**TestProtocol**](TestProtocol.md) | | [optional] +**randomized_start_time** | **bool** | Indicates whether agents should randomize the start time in each test round. | [optional] [default to False] +**recursive_queries** | **bool** | Set true to run query with RD (recursion desired) flag enabled. | [optional] +**ipv6_policy** | [**TestIpv6Policy**](TestIpv6Policy.md) | | [optional] +**fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] +**dns_query_class** | [**DnsQueryClass**](DnsQueryClass.md) | | [optional] +**type** | **str** | | [optional] [readonly] + +## Example + +```python +from thousandeyes_sdk.instant_tests.models.dns_server_request_properties import DnsServerRequestProperties + +# TODO update the JSON string below +json = "{}" +# create an instance of DnsServerRequestProperties from a JSON string +dns_server_request_properties_instance = DnsServerRequestProperties.from_json(json) +# print the JSON string representation of the object +print(DnsServerRequestProperties.to_json()) + +# convert the object into a dict +dns_server_request_properties_dict = dns_server_request_properties_instance.to_dict() +# create an instance of DnsServerRequestProperties from a dict +dns_server_request_properties_from_dict = DnsServerRequestProperties.from_dict(dns_server_request_properties_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/thousandeyes-sdk-instant-tests/docs/DnsServersRequest.md b/thousandeyes-sdk-instant-tests/docs/DnsServersRequest.md deleted file mode 100644 index 87c119f5..00000000 --- a/thousandeyes-sdk-instant-tests/docs/DnsServersRequest.md +++ /dev/null @@ -1,29 +0,0 @@ -# DnsServersRequest - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**dns_servers** | **List[str]** | A list of DNS server FQDN. | [optional] - -## Example - -```python -from thousandeyes_sdk.instant_tests.models.dns_servers_request import DnsServersRequest - -# TODO update the JSON string below -json = "{}" -# create an instance of DnsServersRequest from a JSON string -dns_servers_request_instance = DnsServersRequest.from_json(json) -# print the JSON string representation of the object -print(DnsServersRequest.to_json()) - -# convert the object into a dict -dns_servers_request_dict = dns_servers_request_instance.to_dict() -# create an instance of DnsServersRequest from a dict -dns_servers_request_from_dict = DnsServersRequest.from_dict(dns_servers_request_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/thousandeyes-sdk-instant-tests/docs/DnsTraceInstantTestRequest.md b/thousandeyes-sdk-instant-tests/docs/DnsTraceInstantTestRequest.md index 9be9e6a0..8b2c0a51 100644 --- a/thousandeyes-sdk-instant-tests/docs/DnsTraceInstantTestRequest.md +++ b/thousandeyes-sdk-instant-tests/docs/DnsTraceInstantTestRequest.md @@ -16,13 +16,13 @@ Name | Type | Description | Notes **test_name** | **str** | The name of the test. Test name must be unique. | [optional] **type** | **str** | | [optional] [readonly] **links** | [**TestLinks**](TestLinks.md) | | [optional] -**labels** | **List[str]** | A list of test label identifiers (get `labelId` from `/labels` endpoint). | [optional] -**shared_with_accounts** | **List[str]** | A list of account group identifiers that the test is shared with (get `aid` from `/account-groups` endpoint). | [optional] **dns_transport_protocol** | [**TestDnsTransportProtocol**](TestDnsTransportProtocol.md) | | [optional] **domain** | **str** | The target record for the test, with the record type suffixed. If no record type is specified, the test defaults to an ANY record. | **dns_query_class** | [**DnsQueryClass**](DnsQueryClass.md) | | [optional] **randomized_start_time** | **bool** | Indicates whether agents should randomize the start time in each test round. | [optional] [default to False] +**labels** | **List[str]** | A list of test label identifiers (get `labelId` from `/labels` endpoint). | [optional] **tags** | **List[str]** | A list of test tag identifiers (get `id` from `/tags` endpoint). | [optional] +**shared_with_accounts** | **List[str]** | A list of account group identifiers that the test is shared with (get `aid` from `/account-groups` endpoint). | [optional] **agents** | [**List[TestAgent]**](TestAgent.md) | A list of objects with `agentId` (required) and `sourceIpAddress` (optional). | ## Example diff --git a/thousandeyes-sdk-instant-tests/docs/FtpServerInstantTestRequest.md b/thousandeyes-sdk-instant-tests/docs/FtpServerInstantTestRequest.md index 0b10e5d1..f10ec756 100644 --- a/thousandeyes-sdk-instant-tests/docs/FtpServerInstantTestRequest.md +++ b/thousandeyes-sdk-instant-tests/docs/FtpServerInstantTestRequest.md @@ -16,8 +16,6 @@ Name | Type | Description | Notes **test_name** | **str** | The name of the test. Test name must be unique. | [optional] **type** | **str** | | [optional] [readonly] **links** | [**TestLinks**](TestLinks.md) | | [optional] -**labels** | **List[str]** | A list of test label identifiers (get `labelId` from `/labels` endpoint). | [optional] -**shared_with_accounts** | **List[str]** | A list of account group identifiers that the test is shared with (get `aid` from `/account-groups` endpoint). | [optional] **bandwidth_measurements** | **bool** | Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test. | [optional] **download_limit** | **int** | Specify maximum number of bytes to download from the target object. | [optional] **ftp_target_time** | **int** | Target time for operation completion; specified in milliseconds. | [optional] @@ -37,7 +35,9 @@ Name | Type | Description | Notes **username** | **str** | Username for Basic/NTLM authentication. | **fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] **ipv6_policy** | [**TestIpv6Policy**](TestIpv6Policy.md) | | [optional] +**labels** | **List[str]** | A list of test label identifiers (get `labelId` from `/labels` endpoint). | [optional] **tags** | **List[str]** | A list of test tag identifiers (get `id` from `/tags` endpoint). | [optional] +**shared_with_accounts** | **List[str]** | A list of account group identifiers that the test is shared with (get `aid` from `/account-groups` endpoint). | [optional] **agents** | [**List[TestAgent]**](TestAgent.md) | A list of objects with `agentId` (required) and `sourceIpAddress` (optional). | ## Example diff --git a/thousandeyes-sdk-instant-tests/docs/HttpServerBaseProperties.md b/thousandeyes-sdk-instant-tests/docs/HttpServerBaseProperties.md index 2e6093a2..5fdd42b3 100644 --- a/thousandeyes-sdk-instant-tests/docs/HttpServerBaseProperties.md +++ b/thousandeyes-sdk-instant-tests/docs/HttpServerBaseProperties.md @@ -40,6 +40,7 @@ Name | Type | Description | Notes **override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] **override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] **collect_proxy_network_data** | **bool** | Indicates whether network data to the proxy should be collected. | [optional] [default to False] +**vault_credentials** | [**List[TestVaultCredential]**](TestVaultCredential.md) | List of credential IDs that are stored in an external vault. | [optional] ## Example diff --git a/thousandeyes-sdk-instant-tests/docs/HttpServerInstantTest.md b/thousandeyes-sdk-instant-tests/docs/HttpServerInstantTest.md index 4c1ff62c..a84acbe1 100644 --- a/thousandeyes-sdk-instant-tests/docs/HttpServerInstantTest.md +++ b/thousandeyes-sdk-instant-tests/docs/HttpServerInstantTest.md @@ -53,6 +53,7 @@ Name | Type | Description | Notes **override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] **override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] **collect_proxy_network_data** | **bool** | Indicates whether network data to the proxy should be collected. | [optional] [default to False] +**vault_credentials** | [**List[TestVaultCredential]**](TestVaultCredential.md) | List of credential IDs that are stored in an external vault. | [optional] **headers** | **List[str]** | HTTP request headers used. | [optional] **randomized_start_time** | **bool** | Indicates whether agents should randomize the start time in each test round. | [optional] [default to False] **post_body** | **str** | Enter the body for the HTTP POST request in this field. No special escaping is necessary. If the post body is provided with content, the `requestMethod` is automatically set to POST. | [optional] diff --git a/thousandeyes-sdk-instant-tests/docs/HttpServerInstantTestRequest.md b/thousandeyes-sdk-instant-tests/docs/HttpServerInstantTestRequest.md index 38fc7931..a4449a70 100644 --- a/thousandeyes-sdk-instant-tests/docs/HttpServerInstantTestRequest.md +++ b/thousandeyes-sdk-instant-tests/docs/HttpServerInstantTestRequest.md @@ -16,8 +16,6 @@ Name | Type | Description | Notes **test_name** | **str** | The name of the test. Test name must be unique. | [optional] **type** | **str** | | [optional] [readonly] **links** | [**TestLinks**](TestLinks.md) | | [optional] -**labels** | **List[str]** | A list of test label identifiers (get `labelId` from `/labels` endpoint). | [optional] -**shared_with_accounts** | **List[str]** | A list of account group identifiers that the test is shared with (get `aid` from `/account-groups` endpoint). | [optional] **auth_type** | [**TestAuthType**](TestAuthType.md) | | [optional] **agent_interfaces** | [**AgentInterfaces**](AgentInterfaces.md) | | [optional] **bandwidth_measurements** | **bool** | Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test. | [optional] @@ -53,11 +51,14 @@ Name | Type | Description | Notes **override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] **override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] **collect_proxy_network_data** | **bool** | Indicates whether network data to the proxy should be collected. | [optional] [default to False] +**vault_credentials** | [**List[TestVaultCredential]**](TestVaultCredential.md) | List of credential IDs that are stored in an external vault. | [optional] **headers** | **List[str]** | HTTP request headers used. | [optional] **randomized_start_time** | **bool** | Indicates whether agents should randomize the start time in each test round. | [optional] [default to False] **post_body** | **str** | Enter the body for the HTTP POST request in this field. No special escaping is necessary. If the post body is provided with content, the `requestMethod` is automatically set to POST. | [optional] **ipv6_policy** | [**TestIpv6Policy**](TestIpv6Policy.md) | | [optional] +**labels** | **List[str]** | A list of test label identifiers (get `labelId` from `/labels` endpoint). | [optional] **tags** | **List[str]** | A list of test tag identifiers (get `id` from `/tags` endpoint). | [optional] +**shared_with_accounts** | **List[str]** | A list of account group identifiers that the test is shared with (get `aid` from `/account-groups` endpoint). | [optional] **agents** | [**List[TestAgent]**](TestAgent.md) | A list of objects with `agentId` (required) and `sourceIpAddress` (optional). | ## Example diff --git a/thousandeyes-sdk-instant-tests/docs/HttpServerInstantTestResponse.md b/thousandeyes-sdk-instant-tests/docs/HttpServerInstantTestResponse.md index 6c6bcad1..21a67bb5 100644 --- a/thousandeyes-sdk-instant-tests/docs/HttpServerInstantTestResponse.md +++ b/thousandeyes-sdk-instant-tests/docs/HttpServerInstantTestResponse.md @@ -53,6 +53,7 @@ Name | Type | Description | Notes **override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] **override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] **collect_proxy_network_data** | **bool** | Indicates whether network data to the proxy should be collected. | [optional] [default to False] +**vault_credentials** | [**List[TestVaultCredential]**](TestVaultCredential.md) | List of credential IDs that are stored in an external vault. | [optional] **headers** | **List[str]** | HTTP request headers used. | [optional] **randomized_start_time** | **bool** | Indicates whether agents should randomize the start time in each test round. | [optional] [default to False] **post_body** | **str** | Enter the body for the HTTP POST request in this field. No special escaping is necessary. If the post body is provided with content, the `requestMethod` is automatically set to POST. | [optional] diff --git a/thousandeyes-sdk-instant-tests/docs/HttpServerProperties.md b/thousandeyes-sdk-instant-tests/docs/HttpServerProperties.md index cf92c045..f0a8a440 100644 --- a/thousandeyes-sdk-instant-tests/docs/HttpServerProperties.md +++ b/thousandeyes-sdk-instant-tests/docs/HttpServerProperties.md @@ -40,6 +40,7 @@ Name | Type | Description | Notes **override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] **override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] **collect_proxy_network_data** | **bool** | Indicates whether network data to the proxy should be collected. | [optional] [default to False] +**vault_credentials** | [**List[TestVaultCredential]**](TestVaultCredential.md) | List of credential IDs that are stored in an external vault. | [optional] **headers** | **List[str]** | HTTP request headers used. | [optional] **randomized_start_time** | **bool** | Indicates whether agents should randomize the start time in each test round. | [optional] [default to False] **post_body** | **str** | Enter the body for the HTTP POST request in this field. No special escaping is necessary. If the post body is provided with content, the `requestMethod` is automatically set to POST. | [optional] diff --git a/thousandeyes-sdk-instant-tests/docs/NetworkProviderInfo.md b/thousandeyes-sdk-instant-tests/docs/NetworkProviderInfo.md new file mode 100644 index 00000000..a436435b --- /dev/null +++ b/thousandeyes-sdk-instant-tests/docs/NetworkProviderInfo.md @@ -0,0 +1,32 @@ +# NetworkProviderInfo + +Information about the network provider that owns the agent's public IP prefix. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**asn** | **int** | Autonomous System Number (ASN) announcing the agent's public IP prefix. | [optional] [readonly] +**name** | **str** | Name of the network provider organization. | [optional] [readonly] +**type** | [**NetworkProviderType**](NetworkProviderType.md) | | [optional] + +## Example + +```python +from thousandeyes_sdk.instant_tests.models.network_provider_info import NetworkProviderInfo + +# TODO update the JSON string below +json = "{}" +# create an instance of NetworkProviderInfo from a JSON string +network_provider_info_instance = NetworkProviderInfo.from_json(json) +# print the JSON string representation of the object +print(NetworkProviderInfo.to_json()) + +# convert the object into a dict +network_provider_info_dict = network_provider_info_instance.to_dict() +# create an instance of NetworkProviderInfo from a dict +network_provider_info_from_dict = NetworkProviderInfo.from_dict(network_provider_info_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/thousandeyes-sdk-dashboards/docs/WidgetType.md b/thousandeyes-sdk-instant-tests/docs/NetworkProviderType.md similarity index 79% rename from thousandeyes-sdk-dashboards/docs/WidgetType.md rename to thousandeyes-sdk-instant-tests/docs/NetworkProviderType.md index fa6104a7..efc6dd07 100644 --- a/thousandeyes-sdk-dashboards/docs/WidgetType.md +++ b/thousandeyes-sdk-instant-tests/docs/NetworkProviderType.md @@ -1,6 +1,6 @@ -# WidgetType +# NetworkProviderType -Type of the Widget +Classification of the agent's network provider. ## Properties diff --git a/thousandeyes-sdk-instant-tests/docs/PageLoadInstantTest.md b/thousandeyes-sdk-instant-tests/docs/PageLoadInstantTest.md index 6526a0be..fbcc7e3f 100644 --- a/thousandeyes-sdk-instant-tests/docs/PageLoadInstantTest.md +++ b/thousandeyes-sdk-instant-tests/docs/PageLoadInstantTest.md @@ -53,6 +53,7 @@ Name | Type | Description | Notes **override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] **override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] **collect_proxy_network_data** | **bool** | Indicates whether network data to the proxy should be collected. | [optional] [default to False] +**vault_credentials** | [**List[TestVaultCredential]**](TestVaultCredential.md) | List of credential IDs that are stored in an external vault. | [optional] **emulated_device_id** | **str** | ID of the emulated device, if one was given when the test was created. | [optional] **page_load_target_time** | **int** | Target time for page load completion, specified in seconds and cannot exceed the `pageLoadTimeLimit`. | [optional] **page_load_time_limit** | **int** | Page load time limit. Must be larger than the `httpTimeLimit`. | [optional] [default to 10] diff --git a/thousandeyes-sdk-instant-tests/docs/PageLoadInstantTestRequest.md b/thousandeyes-sdk-instant-tests/docs/PageLoadInstantTestRequest.md index 17e32f29..7eb63689 100644 --- a/thousandeyes-sdk-instant-tests/docs/PageLoadInstantTestRequest.md +++ b/thousandeyes-sdk-instant-tests/docs/PageLoadInstantTestRequest.md @@ -16,8 +16,6 @@ Name | Type | Description | Notes **test_name** | **str** | The name of the test. Test name must be unique. | [optional] **type** | **str** | | [optional] [readonly] **links** | [**TestLinks**](TestLinks.md) | | [optional] -**labels** | **List[str]** | A list of test label identifiers (get `labelId` from `/labels` endpoint). | [optional] -**shared_with_accounts** | **List[str]** | A list of account group identifiers that the test is shared with (get `aid` from `/account-groups` endpoint). | [optional] **auth_type** | [**TestAuthType**](TestAuthType.md) | | [optional] **agent_interfaces** | [**AgentInterfaces**](AgentInterfaces.md) | | [optional] **bandwidth_measurements** | **bool** | Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test. | [optional] @@ -53,6 +51,7 @@ Name | Type | Description | Notes **override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] **override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] **collect_proxy_network_data** | **bool** | Indicates whether network data to the proxy should be collected. | [optional] [default to False] +**vault_credentials** | [**List[TestVaultCredential]**](TestVaultCredential.md) | List of credential IDs that are stored in an external vault. | [optional] **emulated_device_id** | **str** | ID of the emulated device, if one was given when the test was created. | [optional] **page_load_target_time** | **int** | Target time for page load completion, specified in seconds and cannot exceed the `pageLoadTimeLimit`. | [optional] **page_load_time_limit** | **int** | Page load time limit. Must be larger than the `httpTimeLimit`. | [optional] [default to 10] @@ -66,7 +65,9 @@ Name | Type | Description | Notes **page_loading_strategy** | [**TestPageLoadingStrategy**](TestPageLoadingStrategy.md) | | [optional] **randomized_start_time** | **bool** | Indicates whether agents should randomize the start time in each test round. | [optional] [default to False] **identify_agent_traffic_with_user_agent** | **bool** | Determines how agent traffic is identified: * `false`: Adds the `x-thousandeyes-agent: yes` header. * `true`: Appends `(ThousandEyes Agent)` to the `user-agent` header. For more information, see [Notes on Agent ID Strategy](https://docs.thousandeyes.com/product-documentation/browser-synthetics/test-settings-page-load-transaction#notes-on-agent-id-strategy). | [optional] [default to False] +**labels** | **List[str]** | A list of test label identifiers (get `labelId` from `/labels` endpoint). | [optional] **tags** | **List[str]** | A list of test tag identifiers (get `id` from `/tags` endpoint). | [optional] +**shared_with_accounts** | **List[str]** | A list of account group identifiers that the test is shared with (get `aid` from `/account-groups` endpoint). | [optional] **agents** | [**List[TestAgent]**](TestAgent.md) | A list of objects with `agentId` (required) and `sourceIpAddress` (optional). | ## Example diff --git a/thousandeyes-sdk-instant-tests/docs/PageLoadInstantTestResponse.md b/thousandeyes-sdk-instant-tests/docs/PageLoadInstantTestResponse.md index d9be0814..80d51834 100644 --- a/thousandeyes-sdk-instant-tests/docs/PageLoadInstantTestResponse.md +++ b/thousandeyes-sdk-instant-tests/docs/PageLoadInstantTestResponse.md @@ -53,6 +53,7 @@ Name | Type | Description | Notes **override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] **override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] **collect_proxy_network_data** | **bool** | Indicates whether network data to the proxy should be collected. | [optional] [default to False] +**vault_credentials** | [**List[TestVaultCredential]**](TestVaultCredential.md) | List of credential IDs that are stored in an external vault. | [optional] **emulated_device_id** | **str** | ID of the emulated device, if one was given when the test was created. | [optional] **page_load_target_time** | **int** | Target time for page load completion, specified in seconds and cannot exceed the `pageLoadTimeLimit`. | [optional] **page_load_time_limit** | **int** | Page load time limit. Must be larger than the `httpTimeLimit`. | [optional] [default to 10] diff --git a/thousandeyes-sdk-instant-tests/docs/PageLoadProperties.md b/thousandeyes-sdk-instant-tests/docs/PageLoadProperties.md index e3de8e24..84f9ef7c 100644 --- a/thousandeyes-sdk-instant-tests/docs/PageLoadProperties.md +++ b/thousandeyes-sdk-instant-tests/docs/PageLoadProperties.md @@ -40,6 +40,7 @@ Name | Type | Description | Notes **override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] **override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] **collect_proxy_network_data** | **bool** | Indicates whether network data to the proxy should be collected. | [optional] [default to False] +**vault_credentials** | [**List[TestVaultCredential]**](TestVaultCredential.md) | List of credential IDs that are stored in an external vault. | [optional] **emulated_device_id** | **str** | ID of the emulated device, if one was given when the test was created. | [optional] **page_load_target_time** | **int** | Target time for page load completion, specified in seconds and cannot exceed the `pageLoadTimeLimit`. | [optional] **page_load_time_limit** | **int** | Page load time limit. Must be larger than the `httpTimeLimit`. | [optional] [default to 10] diff --git a/thousandeyes-sdk-instant-tests/docs/SimpleAgent.md b/thousandeyes-sdk-instant-tests/docs/SimpleAgent.md index 2acd11c4..1479a1df 100644 --- a/thousandeyes-sdk-instant-tests/docs/SimpleAgent.md +++ b/thousandeyes-sdk-instant-tests/docs/SimpleAgent.md @@ -13,9 +13,10 @@ Name | Type | Description | Notes **location** | **str** | Location of the agent. | [optional] [readonly] **country_id** | **str** | 2-digit ISO country code | [optional] [readonly] **coordinates** | [**Coordinates**](Coordinates.md) | | [optional] +**network_provider_info** | [**NetworkProviderInfo**](NetworkProviderInfo.md) | | [optional] [readonly] **enabled** | **bool** | Flag indicating if the agent is enabled. | [optional] -**prefix** | **str** | Prefix containing agents public IP address. | [optional] [readonly] **verify_ssl_certificates** | **bool** | Flag indicating if has normal SSL operations or if instead it's set to ignore SSL errors on browserbot-based tests. | [optional] [readonly] +**prefix** | **str** | Prefix containing agents public IP address. | [optional] [readonly] ## Example diff --git a/thousandeyes-sdk-instant-tests/docs/SipServerInstantTestRequest.md b/thousandeyes-sdk-instant-tests/docs/SipServerInstantTestRequest.md index 5f308712..16019423 100644 --- a/thousandeyes-sdk-instant-tests/docs/SipServerInstantTestRequest.md +++ b/thousandeyes-sdk-instant-tests/docs/SipServerInstantTestRequest.md @@ -16,8 +16,6 @@ Name | Type | Description | Notes **test_name** | **str** | The name of the test. Test name must be unique. | [optional] **type** | **str** | | [optional] [readonly] **links** | [**TestLinks**](TestLinks.md) | | [optional] -**labels** | **List[str]** | A list of test label identifiers (get `labelId` from `/labels` endpoint). | [optional] -**shared_with_accounts** | **List[str]** | A list of account group identifiers that the test is shared with (get `aid` from `/account-groups` endpoint). | [optional] **mtu_measurements** | **bool** | Set `true` to measure MTU sizes on network from agents to the target. | [optional] **network_measurements** | **bool** | Enable or disable network measurements. Set to true to enable or false to disable network measurements. | [optional] [default to True] **num_path_traces** | **int** | Number of path traces executed by the agent. | [optional] [default to 3] @@ -30,7 +28,9 @@ Name | Type | Description | Notes **sip_time_limit** | **int** | Time limit in milliseconds. | [optional] [default to 5] **fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] **ipv6_policy** | [**TestIpv6Policy**](TestIpv6Policy.md) | | [optional] +**labels** | **List[str]** | A list of test label identifiers (get `labelId` from `/labels` endpoint). | [optional] **tags** | **List[str]** | A list of test tag identifiers (get `id` from `/tags` endpoint). | [optional] +**shared_with_accounts** | **List[str]** | A list of account group identifiers that the test is shared with (get `aid` from `/account-groups` endpoint). | [optional] **agents** | [**List[TestAgent]**](TestAgent.md) | A list of objects with `agentId` (required) and `sourceIpAddress` (optional). | **target_sip_credentials** | [**TestSipCredentials**](TestSipCredentials.md) | | diff --git a/thousandeyes-sdk-instant-tests/docs/TestVaultCredential.md b/thousandeyes-sdk-instant-tests/docs/TestVaultCredential.md new file mode 100644 index 00000000..56667fbb --- /dev/null +++ b/thousandeyes-sdk-instant-tests/docs/TestVaultCredential.md @@ -0,0 +1,30 @@ +# TestVaultCredential + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**secret_id** | **str** | UUID of the configured secret. | [optional] +**target** | [**TestVaultCredentialTarget**](TestVaultCredentialTarget.md) | | [optional] + +## Example + +```python +from thousandeyes_sdk.instant_tests.models.test_vault_credential import TestVaultCredential + +# TODO update the JSON string below +json = "{}" +# create an instance of TestVaultCredential from a JSON string +test_vault_credential_instance = TestVaultCredential.from_json(json) +# print the JSON string representation of the object +print(TestVaultCredential.to_json()) + +# convert the object into a dict +test_vault_credential_dict = test_vault_credential_instance.to_dict() +# create an instance of TestVaultCredential from a dict +test_vault_credential_from_dict = TestVaultCredential.from_dict(test_vault_credential_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/thousandeyes-sdk-dashboards/docs/ApiWidgetSortDirection.md b/thousandeyes-sdk-instant-tests/docs/TestVaultCredentialTarget.md similarity index 76% rename from thousandeyes-sdk-dashboards/docs/ApiWidgetSortDirection.md rename to thousandeyes-sdk-instant-tests/docs/TestVaultCredentialTarget.md index 5945898b..02df9f4f 100644 --- a/thousandeyes-sdk-dashboards/docs/ApiWidgetSortDirection.md +++ b/thousandeyes-sdk-instant-tests/docs/TestVaultCredentialTarget.md @@ -1,6 +1,6 @@ -# ApiWidgetSortDirection +# TestVaultCredentialTarget -Specifies the order in which cards are sorted. +The target setting that the credential should be used for. ## Properties diff --git a/thousandeyes-sdk-instant-tests/docs/VoiceInstantTest.md b/thousandeyes-sdk-instant-tests/docs/VoiceInstantTest.md index 84dd2925..c637ba6b 100644 --- a/thousandeyes-sdk-instant-tests/docs/VoiceInstantTest.md +++ b/thousandeyes-sdk-instant-tests/docs/VoiceInstantTest.md @@ -19,7 +19,7 @@ Name | Type | Description | Notes **labels** | [**List[TestLabel]**](TestLabel.md) | Labels to which the test is assigned. This field is not returned for Instant Tests. | [optional] [readonly] **shared_with_accounts** | [**List[SharedWithAccount]**](SharedWithAccount.md) | | [optional] [readonly] **codec** | **str** | Codec label | [optional] [readonly] -**codec_id** | **str** | Coded ID, [see the list of acceptable values](https://docs.thousandeyes.com/product-documentation/internet-and-wan-monitoring/tests/working-with-test-settings#rtp-stream-advanced-settings-tab) | [optional] +**codec_id** | **str** | Codec identifier for the RTP stream. Valid values: * `0`: G.711 @ 64 Kbps * `1`: G.722.1 @ 24 Kbps (WB) * `2`: G.722.1 @ 32 Kbps (WB) * `3`: G.726 @ 32 Kbps * `4`: G.723.1 @ 6.4 Kbps * `5`: G.729a @ 8 Kbps * `6`: RTAudio @ 45 Kbps (WB) * `7`: RTAudio @ 27.8 Kbps * `8`: SILK @ 36 Kbps (WB) * `9`: G.722 @ 64 Kbps (WB) | [optional] **dscp** | **str** | DSCP label. | [optional] [readonly] **dscp_id** | [**TestDscpId**](TestDscpId.md) | | [optional] **duration** | **int** | Duration of the test in seconds. | [optional] [default to 5] diff --git a/thousandeyes-sdk-instant-tests/docs/VoiceInstantTestRequest.md b/thousandeyes-sdk-instant-tests/docs/VoiceInstantTestRequest.md index 40e2f94d..6fc67da3 100644 --- a/thousandeyes-sdk-instant-tests/docs/VoiceInstantTestRequest.md +++ b/thousandeyes-sdk-instant-tests/docs/VoiceInstantTestRequest.md @@ -16,10 +16,8 @@ Name | Type | Description | Notes **test_name** | **str** | The name of the test. Test name must be unique. | [optional] **type** | **str** | | [optional] [readonly] **links** | [**TestLinks**](TestLinks.md) | | [optional] -**labels** | **List[str]** | A list of test label identifiers (get `labelId` from `/labels` endpoint). | [optional] -**shared_with_accounts** | **List[str]** | A list of account group identifiers that the test is shared with (get `aid` from `/account-groups` endpoint). | [optional] **codec** | **str** | Codec label | [optional] [readonly] -**codec_id** | **str** | Coded ID, [see the list of acceptable values](https://docs.thousandeyes.com/product-documentation/internet-and-wan-monitoring/tests/working-with-test-settings#rtp-stream-advanced-settings-tab) | [optional] +**codec_id** | **str** | Codec identifier for the RTP stream. Valid values: * `0`: G.711 @ 64 Kbps * `1`: G.722.1 @ 24 Kbps (WB) * `2`: G.722.1 @ 32 Kbps (WB) * `3`: G.726 @ 32 Kbps * `4`: G.723.1 @ 6.4 Kbps * `5`: G.729a @ 8 Kbps * `6`: RTAudio @ 45 Kbps (WB) * `7`: RTAudio @ 27.8 Kbps * `8`: SILK @ 36 Kbps (WB) * `9`: G.722 @ 64 Kbps (WB) | [optional] **dscp** | **str** | DSCP label. | [optional] [readonly] **dscp_id** | [**TestDscpId**](TestDscpId.md) | | [optional] **duration** | **int** | Duration of the test in seconds. | [optional] [default to 5] @@ -28,7 +26,9 @@ Name | Type | Description | Notes **port** | **int** | Port number for the chosen protocol. | [optional] **randomized_start_time** | **bool** | Indicates whether agents should randomize the start time in each test round. | [optional] [default to False] **target_agent_id** | **str** | Agent ID of the target agent for the test. | +**labels** | **List[str]** | A list of test label identifiers (get `labelId` from `/labels` endpoint). | [optional] **tags** | **List[str]** | A list of test tag identifiers (get `id` from `/tags` endpoint). | [optional] +**shared_with_accounts** | **List[str]** | A list of account group identifiers that the test is shared with (get `aid` from `/account-groups` endpoint). | [optional] **agents** | [**List[TestAgent]**](TestAgent.md) | A list of objects with `agentId` (required) and `sourceIpAddress` (optional). | ## Example diff --git a/thousandeyes-sdk-instant-tests/docs/VoiceInstantTestResponse.md b/thousandeyes-sdk-instant-tests/docs/VoiceInstantTestResponse.md index 99a6f123..81987146 100644 --- a/thousandeyes-sdk-instant-tests/docs/VoiceInstantTestResponse.md +++ b/thousandeyes-sdk-instant-tests/docs/VoiceInstantTestResponse.md @@ -19,7 +19,7 @@ Name | Type | Description | Notes **labels** | [**List[TestLabel]**](TestLabel.md) | Labels to which the test is assigned. This field is not returned for Instant Tests. | [optional] [readonly] **shared_with_accounts** | [**List[SharedWithAccount]**](SharedWithAccount.md) | | [optional] [readonly] **codec** | **str** | Codec label | [optional] [readonly] -**codec_id** | **str** | Coded ID, [see the list of acceptable values](https://docs.thousandeyes.com/product-documentation/internet-and-wan-monitoring/tests/working-with-test-settings#rtp-stream-advanced-settings-tab) | [optional] +**codec_id** | **str** | Codec identifier for the RTP stream. Valid values: * `0`: G.711 @ 64 Kbps * `1`: G.722.1 @ 24 Kbps (WB) * `2`: G.722.1 @ 32 Kbps (WB) * `3`: G.726 @ 32 Kbps * `4`: G.723.1 @ 6.4 Kbps * `5`: G.729a @ 8 Kbps * `6`: RTAudio @ 45 Kbps (WB) * `7`: RTAudio @ 27.8 Kbps * `8`: SILK @ 36 Kbps (WB) * `9`: G.722 @ 64 Kbps (WB) | [optional] **dscp** | **str** | DSCP label. | [optional] [readonly] **dscp_id** | [**TestDscpId**](TestDscpId.md) | | [optional] **duration** | **int** | Duration of the test in seconds. | [optional] [default to 5] diff --git a/thousandeyes-sdk-instant-tests/docs/VoiceProperties.md b/thousandeyes-sdk-instant-tests/docs/VoiceProperties.md index 43534c8f..3f76534f 100644 --- a/thousandeyes-sdk-instant-tests/docs/VoiceProperties.md +++ b/thousandeyes-sdk-instant-tests/docs/VoiceProperties.md @@ -6,7 +6,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **codec** | **str** | Codec label | [optional] [readonly] -**codec_id** | **str** | Coded ID, [see the list of acceptable values](https://docs.thousandeyes.com/product-documentation/internet-and-wan-monitoring/tests/working-with-test-settings#rtp-stream-advanced-settings-tab) | [optional] +**codec_id** | **str** | Codec identifier for the RTP stream. Valid values: * `0`: G.711 @ 64 Kbps * `1`: G.722.1 @ 24 Kbps (WB) * `2`: G.722.1 @ 32 Kbps (WB) * `3`: G.726 @ 32 Kbps * `4`: G.723.1 @ 6.4 Kbps * `5`: G.729a @ 8 Kbps * `6`: RTAudio @ 45 Kbps (WB) * `7`: RTAudio @ 27.8 Kbps * `8`: SILK @ 36 Kbps (WB) * `9`: G.722 @ 64 Kbps (WB) | [optional] **dscp** | **str** | DSCP label. | [optional] [readonly] **dscp_id** | [**TestDscpId**](TestDscpId.md) | | [optional] **duration** | **int** | Duration of the test in seconds. | [optional] [default to 5] diff --git a/thousandeyes-sdk-instant-tests/docs/WebTransactionInstantTest.md b/thousandeyes-sdk-instant-tests/docs/WebTransactionInstantTest.md index fd712787..48d13071 100644 --- a/thousandeyes-sdk-instant-tests/docs/WebTransactionInstantTest.md +++ b/thousandeyes-sdk-instant-tests/docs/WebTransactionInstantTest.md @@ -53,6 +53,7 @@ Name | Type | Description | Notes **override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] **override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] **collect_proxy_network_data** | **bool** | Indicates whether network data to the proxy should be collected. | [optional] [default to False] +**vault_credentials** | [**List[TestVaultCredential]**](TestVaultCredential.md) | List of credential IDs that are stored in an external vault. | [optional] **emulated_device_id** | **str** | ID of the emulated device, if specified when the test was created. | [optional] **target_time** | **int** | Target completion time, in seconds. Defaults to 10. Cannot exceed the `timeLimit` value. | [optional] [default to 10] **time_limit** | **int** | Time limit for transaction in seconds. | [optional] [default to 30] diff --git a/thousandeyes-sdk-instant-tests/docs/WebTransactionInstantTestRequest.md b/thousandeyes-sdk-instant-tests/docs/WebTransactionInstantTestRequest.md index c8b5e025..e24b9e8f 100644 --- a/thousandeyes-sdk-instant-tests/docs/WebTransactionInstantTestRequest.md +++ b/thousandeyes-sdk-instant-tests/docs/WebTransactionInstantTestRequest.md @@ -16,8 +16,6 @@ Name | Type | Description | Notes **test_name** | **str** | The name of the test. Test name must be unique. | [optional] **type** | **str** | | [optional] [readonly] **links** | [**TestLinks**](TestLinks.md) | | [optional] -**labels** | **List[str]** | A list of test label identifiers (get `labelId` from `/labels` endpoint). | [optional] -**shared_with_accounts** | **List[str]** | A list of account group identifiers that the test is shared with (get `aid` from `/account-groups` endpoint). | [optional] **auth_type** | [**TestAuthType**](TestAuthType.md) | | [optional] **agent_interfaces** | [**AgentInterfaces**](AgentInterfaces.md) | | [optional] **bandwidth_measurements** | **bool** | Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test. | [optional] @@ -53,6 +51,7 @@ Name | Type | Description | Notes **override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] **override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] **collect_proxy_network_data** | **bool** | Indicates whether network data to the proxy should be collected. | [optional] [default to False] +**vault_credentials** | [**List[TestVaultCredential]**](TestVaultCredential.md) | List of credential IDs that are stored in an external vault. | [optional] **emulated_device_id** | **str** | ID of the emulated device, if specified when the test was created. | [optional] **target_time** | **int** | Target completion time, in seconds. Defaults to 10. Cannot exceed the `timeLimit` value. | [optional] [default to 10] **time_limit** | **int** | Time limit for transaction in seconds. | [optional] [default to 30] @@ -67,9 +66,11 @@ Name | Type | Description | Notes **page_loading_strategy** | [**TestPageLoadingStrategy**](TestPageLoadingStrategy.md) | | [optional] **randomized_start_time** | **bool** | Indicates whether agents should randomize the start time in each test round. | [optional] [default to False] **identify_agent_traffic_with_user_agent** | **bool** | Determines how agent traffic is identified: * `false`: Adds the `x-thousandeyes-agent: yes` header. * `true`: Appends `(ThousandEyes Agent)` to the `user-agent` header. For more information, see [Notes on Agent ID Strategy](https://docs.thousandeyes.com/product-documentation/browser-synthetics/test-settings-page-load-transaction#notes-on-agent-id-strategy). | [optional] [default to False] -**credentials** | **List[str]** | Contains a list of credential IDs (get `credentialId` from `/credentials` endpoint). | [optional] +**labels** | **List[str]** | A list of test label identifiers (get `labelId` from `/labels` endpoint). | [optional] **tags** | **List[str]** | A list of test tag identifiers (get `id` from `/tags` endpoint). | [optional] +**shared_with_accounts** | **List[str]** | A list of account group identifiers that the test is shared with (get `aid` from `/account-groups` endpoint). | [optional] **agents** | [**List[TestAgent]**](TestAgent.md) | A list of objects with `agentId` (required) and `sourceIpAddress` (optional). | +**credentials** | **List[str]** | Contains a list of credential IDs (get `credentialId` from `/credentials` endpoint). | [optional] ## Example diff --git a/thousandeyes-sdk-instant-tests/docs/WebTransactionInstantTestResponse.md b/thousandeyes-sdk-instant-tests/docs/WebTransactionInstantTestResponse.md index 5386ba9c..e2172ed4 100644 --- a/thousandeyes-sdk-instant-tests/docs/WebTransactionInstantTestResponse.md +++ b/thousandeyes-sdk-instant-tests/docs/WebTransactionInstantTestResponse.md @@ -53,6 +53,7 @@ Name | Type | Description | Notes **override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] **override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] **collect_proxy_network_data** | **bool** | Indicates whether network data to the proxy should be collected. | [optional] [default to False] +**vault_credentials** | [**List[TestVaultCredential]**](TestVaultCredential.md) | List of credential IDs that are stored in an external vault. | [optional] **emulated_device_id** | **str** | ID of the emulated device, if specified when the test was created. | [optional] **target_time** | **int** | Target completion time, in seconds. Defaults to 10. Cannot exceed the `timeLimit` value. | [optional] [default to 10] **time_limit** | **int** | Time limit for transaction in seconds. | [optional] [default to 30] diff --git a/thousandeyes-sdk-instant-tests/docs/WebTransactionProperties.md b/thousandeyes-sdk-instant-tests/docs/WebTransactionProperties.md index 1d769a3d..5357d7ad 100644 --- a/thousandeyes-sdk-instant-tests/docs/WebTransactionProperties.md +++ b/thousandeyes-sdk-instant-tests/docs/WebTransactionProperties.md @@ -40,6 +40,7 @@ Name | Type | Description | Notes **override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] **override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] **collect_proxy_network_data** | **bool** | Indicates whether network data to the proxy should be collected. | [optional] [default to False] +**vault_credentials** | [**List[TestVaultCredential]**](TestVaultCredential.md) | List of credential IDs that are stored in an external vault. | [optional] **emulated_device_id** | **str** | ID of the emulated device, if specified when the test was created. | [optional] **target_time** | **int** | Target completion time, in seconds. Defaults to 10. Cannot exceed the `timeLimit` value. | [optional] [default to 10] **time_limit** | **int** | Time limit for transaction in seconds. | [optional] [default to 30] diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/__init__.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/__init__.py index 3cb3e20d..c4411498 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/__init__.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/__init__.py @@ -68,7 +68,7 @@ from thousandeyes_sdk.instant_tests.models.dns_server_instant_test import DnsSer from thousandeyes_sdk.instant_tests.models.dns_server_instant_test_request import DnsServerInstantTestRequest from thousandeyes_sdk.instant_tests.models.dns_server_instant_test_response import DnsServerInstantTestResponse from thousandeyes_sdk.instant_tests.models.dns_server_properties import DnsServerProperties -from thousandeyes_sdk.instant_tests.models.dns_servers_request import DnsServersRequest +from thousandeyes_sdk.instant_tests.models.dns_server_request_properties import DnsServerRequestProperties from thousandeyes_sdk.instant_tests.models.dns_trace_instant_test import DnsTraceInstantTest from thousandeyes_sdk.instant_tests.models.dns_trace_instant_test_request import DnsTraceInstantTestRequest from thousandeyes_sdk.instant_tests.models.dns_trace_instant_test_response import DnsTraceInstantTestResponse @@ -88,6 +88,8 @@ from thousandeyes_sdk.instant_tests.models.http_server_properties import HttpSer from thousandeyes_sdk.instant_tests.models.instant_test import InstantTest from thousandeyes_sdk.instant_tests.models.instant_test_request import InstantTestRequest from thousandeyes_sdk.instant_tests.models.link import Link +from thousandeyes_sdk.instant_tests.models.network_provider_info import NetworkProviderInfo +from thousandeyes_sdk.instant_tests.models.network_provider_type import NetworkProviderType from thousandeyes_sdk.instant_tests.models.o_auth import OAuth from thousandeyes_sdk.instant_tests.models.o_auth_auth_type import OAuthAuthType from thousandeyes_sdk.instant_tests.models.o_auth_request_method import OAuthRequestMethod @@ -120,6 +122,8 @@ from thousandeyes_sdk.instant_tests.models.test_self_link import TestSelfLink from thousandeyes_sdk.instant_tests.models.test_sip_credentials import TestSipCredentials from thousandeyes_sdk.instant_tests.models.test_ssl_version_id import TestSslVersionId from thousandeyes_sdk.instant_tests.models.test_type import TestType +from thousandeyes_sdk.instant_tests.models.test_vault_credential import TestVaultCredential +from thousandeyes_sdk.instant_tests.models.test_vault_credential_target import TestVaultCredentialTarget from thousandeyes_sdk.instant_tests.models.unauthorized_error import UnauthorizedError from thousandeyes_sdk.instant_tests.models.unexpanded_instant_test import UnexpandedInstantTest from thousandeyes_sdk.instant_tests.models.validation_error import ValidationError diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/__init__.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/__init__.py index 38916aed..60611070 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/__init__.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/__init__.py @@ -51,7 +51,7 @@ from thousandeyes_sdk.instant_tests.models.dns_server_instant_test import DnsSer from thousandeyes_sdk.instant_tests.models.dns_server_instant_test_request import DnsServerInstantTestRequest from thousandeyes_sdk.instant_tests.models.dns_server_instant_test_response import DnsServerInstantTestResponse from thousandeyes_sdk.instant_tests.models.dns_server_properties import DnsServerProperties -from thousandeyes_sdk.instant_tests.models.dns_servers_request import DnsServersRequest +from thousandeyes_sdk.instant_tests.models.dns_server_request_properties import DnsServerRequestProperties from thousandeyes_sdk.instant_tests.models.dns_trace_instant_test import DnsTraceInstantTest from thousandeyes_sdk.instant_tests.models.dns_trace_instant_test_request import DnsTraceInstantTestRequest from thousandeyes_sdk.instant_tests.models.dns_trace_instant_test_response import DnsTraceInstantTestResponse @@ -71,6 +71,8 @@ from thousandeyes_sdk.instant_tests.models.http_server_properties import HttpSer from thousandeyes_sdk.instant_tests.models.instant_test import InstantTest from thousandeyes_sdk.instant_tests.models.instant_test_request import InstantTestRequest from thousandeyes_sdk.instant_tests.models.link import Link +from thousandeyes_sdk.instant_tests.models.network_provider_info import NetworkProviderInfo +from thousandeyes_sdk.instant_tests.models.network_provider_type import NetworkProviderType from thousandeyes_sdk.instant_tests.models.o_auth import OAuth from thousandeyes_sdk.instant_tests.models.o_auth_auth_type import OAuthAuthType from thousandeyes_sdk.instant_tests.models.o_auth_request_method import OAuthRequestMethod @@ -103,6 +105,8 @@ from thousandeyes_sdk.instant_tests.models.test_self_link import TestSelfLink from thousandeyes_sdk.instant_tests.models.test_sip_credentials import TestSipCredentials from thousandeyes_sdk.instant_tests.models.test_ssl_version_id import TestSslVersionId from thousandeyes_sdk.instant_tests.models.test_type import TestType +from thousandeyes_sdk.instant_tests.models.test_vault_credential import TestVaultCredential +from thousandeyes_sdk.instant_tests.models.test_vault_credential_target import TestVaultCredentialTarget from thousandeyes_sdk.instant_tests.models.unauthorized_error import UnauthorizedError from thousandeyes_sdk.instant_tests.models.unexpanded_instant_test import UnexpandedInstantTest from thousandeyes_sdk.instant_tests.models.validation_error import ValidationError diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/agent_response.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/agent_response.py index 79ee02fc..7f7ae7a9 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/agent_response.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/agent_response.py @@ -20,6 +20,7 @@ from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr from typing import Any, ClassVar, Dict, List, Optional from thousandeyes_sdk.instant_tests.models.cloud_enterprise_agent_type import CloudEnterpriseAgentType from thousandeyes_sdk.instant_tests.models.coordinates import Coordinates +from thousandeyes_sdk.instant_tests.models.network_provider_info import NetworkProviderInfo from typing import Optional, Set from typing_extensions import Self @@ -35,11 +36,12 @@ class AgentResponse(BaseModel): location: Optional[StrictStr] = Field(default=None, description="Location of the agent.") country_id: Optional[StrictStr] = Field(default=None, description="2-digit ISO country code", alias="countryId") coordinates: Optional[Coordinates] = None + network_provider_info: Optional[NetworkProviderInfo] = Field(default=None, alias="networkProviderInfo") enabled: Optional[StrictBool] = Field(default=None, description="Flag indicating if the agent is enabled.") - prefix: Optional[StrictStr] = Field(default=None, description="Prefix containing agents public IP address.") verify_ssl_certificates: Optional[StrictBool] = Field(default=None, description="Flag indicating if has normal SSL operations or if instead it's set to ignore SSL errors on browserbot-based tests.", alias="verifySslCertificates") + prefix: Optional[StrictStr] = Field(default=None, description="Prefix containing agents public IP address.") agent_type: CloudEnterpriseAgentType = Field(alias="agentType") - __properties: ClassVar[List[str]] = ["ipAddresses", "publicIpAddresses", "network", "agentId", "agentName", "location", "countryId", "coordinates", "enabled", "prefix", "verifySslCertificates", "agentType"] + __properties: ClassVar[List[str]] = ["ipAddresses", "publicIpAddresses", "network", "agentId", "agentName", "location", "countryId", "coordinates", "networkProviderInfo", "enabled", "verifySslCertificates", "prefix", "agentType"] model_config = ConfigDict( populate_by_name=True, @@ -80,6 +82,7 @@ class AgentResponse(BaseModel): * OpenAPI `readOnly` fields are excluded. * OpenAPI `readOnly` fields are excluded. * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. """ excluded_fields: Set[str] = set([ "ip_addresses", @@ -88,8 +91,9 @@ class AgentResponse(BaseModel): "agent_id", "location", "country_id", - "prefix", + "network_provider_info", "verify_ssl_certificates", + "prefix", ]) _dict = self.model_dump( @@ -100,6 +104,9 @@ class AgentResponse(BaseModel): # override the default output from pydantic by calling `to_dict()` of coordinates if self.coordinates: _dict['coordinates'] = self.coordinates.to_dict() + # override the default output from pydantic by calling `to_dict()` of network_provider_info + if self.network_provider_info: + _dict['networkProviderInfo'] = self.network_provider_info.to_dict() return _dict @classmethod @@ -120,9 +127,10 @@ class AgentResponse(BaseModel): "location": obj.get("location"), "countryId": obj.get("countryId"), "coordinates": Coordinates.from_dict(obj["coordinates"]) if obj.get("coordinates") is not None else None, + "networkProviderInfo": NetworkProviderInfo.from_dict(obj["networkProviderInfo"]) if obj.get("networkProviderInfo") is not None else None, "enabled": obj.get("enabled"), - "prefix": obj.get("prefix"), "verifySslCertificates": obj.get("verifySslCertificates"), + "prefix": obj.get("prefix"), "agentType": obj.get("agentType") }) return _obj diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/agent_to_agent_instant_test_request.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/agent_to_agent_instant_test_request.py index b965b969..9c8b8635 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/agent_to_agent_instant_test_request.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/agent_to_agent_instant_test_request.py @@ -44,8 +44,6 @@ class AgentToAgentInstantTestRequest(BaseModel): test_name: Optional[StrictStr] = Field(default=None, description="The name of the test. Test name must be unique.", alias="testName") type: Optional[StrictStr] = None links: Optional[TestLinks] = Field(default=None, alias="_links") - labels: Optional[List[StrictStr]] = Field(default=None, description="A list of test label identifiers (get `labelId` from `/labels` endpoint).") - shared_with_accounts: Optional[List[StrictStr]] = Field(default=None, description="A list of account group identifiers that the test is shared with (get `aid` from `/account-groups` endpoint).", alias="sharedWithAccounts") direction: Optional[TestDirection] = None dscp: Optional[StrictStr] = Field(default=None, description="DSCP label.") dscp_id: Optional[TestDscpId] = Field(default=None, alias="dscpId") @@ -60,9 +58,11 @@ class AgentToAgentInstantTestRequest(BaseModel): throughput_duration: Optional[Annotated[int, Field(le=30000, strict=True, ge=5000)]] = Field(default=10000, description="The throughput duration.", alias="throughputDuration") throughput_rate: Optional[Annotated[int, Field(le=1000, strict=True, ge=8)]] = Field(default=None, description="The throughput rate, only applicable for UDP protocol.", alias="throughputRate") fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") + labels: Optional[List[StrictStr]] = Field(default=None, description="A list of test label identifiers (get `labelId` from `/labels` endpoint).") tags: Optional[List[StrictStr]] = Field(default=None, description="A list of test tag identifiers (get `id` from `/tags` endpoint).") + shared_with_accounts: Optional[List[StrictStr]] = Field(default=None, description="A list of account group identifiers that the test is shared with (get `aid` from `/account-groups` endpoint).", alias="sharedWithAccounts") agents: List[TestAgent] = Field(description="A list of objects with `agentId` (required) and `sourceIpAddress` (optional).") - __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "direction", "dscp", "dscpId", "mss", "numPathTraces", "pathTraceMode", "port", "protocol", "randomizedStartTime", "targetAgentId", "throughputMeasurements", "throughputDuration", "throughputRate", "fixedPacketRate", "tags", "agents"] + __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "direction", "dscp", "dscpId", "mss", "numPathTraces", "pathTraceMode", "port", "protocol", "randomizedStartTime", "targetAgentId", "throughputMeasurements", "throughputDuration", "throughputRate", "fixedPacketRate", "labels", "tags", "sharedWithAccounts", "agents"] model_config = ConfigDict( populate_by_name=True, @@ -155,8 +155,6 @@ class AgentToAgentInstantTestRequest(BaseModel): "testName": obj.get("testName"), "type": obj.get("type"), "_links": TestLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, - "labels": obj.get("labels"), - "sharedWithAccounts": obj.get("sharedWithAccounts"), "direction": obj.get("direction"), "dscp": obj.get("dscp"), "dscpId": obj.get("dscpId"), @@ -171,7 +169,9 @@ class AgentToAgentInstantTestRequest(BaseModel): "throughputDuration": obj.get("throughputDuration") if obj.get("throughputDuration") is not None else 10000, "throughputRate": obj.get("throughputRate"), "fixedPacketRate": obj.get("fixedPacketRate"), + "labels": obj.get("labels"), "tags": obj.get("tags"), + "sharedWithAccounts": obj.get("sharedWithAccounts"), "agents": [TestAgent.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None }) return _obj diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/agent_to_server_instant_test_request.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/agent_to_server_instant_test_request.py index 412fd539..a8cd6df0 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/agent_to_server_instant_test_request.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/agent_to_server_instant_test_request.py @@ -45,8 +45,6 @@ class AgentToServerInstantTestRequest(BaseModel): test_name: Optional[StrictStr] = Field(default=None, description="The name of the test. Test name must be unique.", alias="testName") type: Optional[StrictStr] = None links: Optional[TestLinks] = Field(default=None, alias="_links") - labels: Optional[List[StrictStr]] = Field(default=None, description="A list of test label identifiers (get `labelId` from `/labels` endpoint).") - shared_with_accounts: Optional[List[StrictStr]] = Field(default=None, description="A list of account group identifiers that the test is shared with (get `aid` from `/account-groups` endpoint).", alias="sharedWithAccounts") bandwidth_measurements: Optional[StrictBool] = Field(default=None, description="Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test.", alias="bandwidthMeasurements") continuous_mode: Optional[StrictBool] = Field(default=None, description="To enable continuous monitoring, set this parameter to `true` to. When continuous monitoring is enabled, the following actions occur: * `fixedPacketRate` is enforced * `bandwidthMeasurements` are disabled * If the `protocol` is set to `tcp`, `probeMode` is set to `syn`. ", alias="continuousMode") fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="If continuousMode is `false`, set the fixedPacketRate to a value between 10-100. If `continuousMode` is `true`, set the `fixedPacketRate` to `1`", alias="fixedPacketRate") @@ -62,9 +60,11 @@ class AgentToServerInstantTestRequest(BaseModel): ipv6_policy: Optional[TestIpv6Policy] = Field(default=None, alias="ipv6Policy") ping_payload_size: Optional[Annotated[int, Field(le=1400, strict=True, ge=0)]] = Field(default=None, description="Payload size (not total packet size) for the end-to-end metric's probes, ping payload size allows values from 0 to 1400 bytes. When set to null, payload sizes are 0 bytes for ICMP-based tests and 1 byte for TCP-based tests.", alias="pingPayloadSize") network_measurements: Optional[StrictBool] = Field(default=False, description="View packet loss in 1-second intervals. This is only available for 1-minute interval tests. Set to `true` to enable network measurements.", alias="networkMeasurements") + labels: Optional[List[StrictStr]] = Field(default=None, description="A list of test label identifiers (get `labelId` from `/labels` endpoint).") tags: Optional[List[StrictStr]] = Field(default=None, description="A list of test tag identifiers (get `id` from `/tags` endpoint).") + shared_with_accounts: Optional[List[StrictStr]] = Field(default=None, description="A list of account group identifiers that the test is shared with (get `aid` from `/account-groups` endpoint).", alias="sharedWithAccounts") agents: List[TestAgent] = Field(description="A list of objects with `agentId` (required) and `sourceIpAddress` (optional).") - __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "bandwidthMeasurements", "continuousMode", "fixedPacketRate", "mtuMeasurements", "numPathTraces", "pathTraceMode", "probeMode", "protocol", "randomizedStartTime", "server", "dscp", "dscpId", "ipv6Policy", "pingPayloadSize", "networkMeasurements", "tags", "agents"] + __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "bandwidthMeasurements", "continuousMode", "fixedPacketRate", "mtuMeasurements", "numPathTraces", "pathTraceMode", "probeMode", "protocol", "randomizedStartTime", "server", "dscp", "dscpId", "ipv6Policy", "pingPayloadSize", "networkMeasurements", "labels", "tags", "sharedWithAccounts", "agents"] model_config = ConfigDict( populate_by_name=True, @@ -157,8 +157,6 @@ class AgentToServerInstantTestRequest(BaseModel): "testName": obj.get("testName"), "type": obj.get("type"), "_links": TestLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, - "labels": obj.get("labels"), - "sharedWithAccounts": obj.get("sharedWithAccounts"), "bandwidthMeasurements": obj.get("bandwidthMeasurements"), "continuousMode": obj.get("continuousMode"), "fixedPacketRate": obj.get("fixedPacketRate"), @@ -174,7 +172,9 @@ class AgentToServerInstantTestRequest(BaseModel): "ipv6Policy": obj.get("ipv6Policy"), "pingPayloadSize": obj.get("pingPayloadSize"), "networkMeasurements": obj.get("networkMeasurements") if obj.get("networkMeasurements") is not None else False, + "labels": obj.get("labels"), "tags": obj.get("tags"), + "sharedWithAccounts": obj.get("sharedWithAccounts"), "agents": [TestAgent.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None }) return _obj diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/api_instant_test.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/api_instant_test.py index 2d243de7..5021fc0f 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/api_instant_test.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/api_instant_test.py @@ -29,6 +29,7 @@ from thousandeyes_sdk.instant_tests.models.test_path_trace_mode import TestPathT from thousandeyes_sdk.instant_tests.models.test_probe_mode import TestProbeMode from thousandeyes_sdk.instant_tests.models.test_protocol import TestProtocol from thousandeyes_sdk.instant_tests.models.test_ssl_version_id import TestSslVersionId +from thousandeyes_sdk.instant_tests.models.test_vault_credential import TestVaultCredential from typing import Optional, Set from typing_extensions import Self @@ -70,7 +71,8 @@ class ApiInstantTest(BaseModel): time_limit: Optional[Annotated[int, Field(le=180, strict=True, ge=5)]] = Field(default=30, description="Time limit for transaction in seconds. Exceeding this limit will result in a Timeout error.", alias="timeLimit") url: StrictStr = Field(description="Target for the test.") credentials: Optional[List[StrictStr]] = Field(default=None, description="Contains a list of credential IDs (get `credentialId` from `/credentials` endpoint).") - __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "clientCertificate", "clientCertDomainsAllowList", "collectProxyNetworkData", "distributedTracing", "followRedirects", "mtuMeasurements", "networkMeasurements", "numPathTraces", "overrideAgentProxy", "overrideProxyId", "pathTraceMode", "predefinedVariables", "probeMode", "protocol", "randomizedStartTime", "requests", "sslVersionId", "targetTime", "timeLimit", "url", "credentials"] + vault_credentials: Optional[List[TestVaultCredential]] = Field(default=None, description="List of credential IDs that are stored in an external vault.", alias="vaultCredentials") + __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "clientCertificate", "clientCertDomainsAllowList", "collectProxyNetworkData", "distributedTracing", "followRedirects", "mtuMeasurements", "networkMeasurements", "numPathTraces", "overrideAgentProxy", "overrideProxyId", "pathTraceMode", "predefinedVariables", "probeMode", "protocol", "randomizedStartTime", "requests", "sslVersionId", "targetTime", "timeLimit", "url", "credentials", "vaultCredentials"] model_config = ConfigDict( populate_by_name=True, @@ -163,6 +165,13 @@ class ApiInstantTest(BaseModel): if _item: _items.append(_item.to_dict()) _dict['requests'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in vault_credentials (list) + _items = [] + if self.vault_credentials: + for _item in self.vault_credentials: + if _item: + _items.append(_item.to_dict()) + _dict['vaultCredentials'] = _items return _dict @classmethod @@ -208,7 +217,8 @@ class ApiInstantTest(BaseModel): "targetTime": obj.get("targetTime"), "timeLimit": obj.get("timeLimit") if obj.get("timeLimit") is not None else 30, "url": obj.get("url"), - "credentials": obj.get("credentials") + "credentials": obj.get("credentials"), + "vaultCredentials": [TestVaultCredential.from_dict(_item) for _item in obj["vaultCredentials"]] if obj.get("vaultCredentials") is not None else None }) return _obj diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/api_instant_test_request.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/api_instant_test_request.py index cab56137..3ff15820 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/api_instant_test_request.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/api_instant_test_request.py @@ -28,6 +28,7 @@ from thousandeyes_sdk.instant_tests.models.test_path_trace_mode import TestPathT from thousandeyes_sdk.instant_tests.models.test_probe_mode import TestProbeMode from thousandeyes_sdk.instant_tests.models.test_protocol import TestProtocol from thousandeyes_sdk.instant_tests.models.test_ssl_version_id import TestSslVersionId +from thousandeyes_sdk.instant_tests.models.test_vault_credential import TestVaultCredential from typing import Optional, Set from typing_extensions import Self @@ -46,8 +47,6 @@ class ApiInstantTestRequest(BaseModel): test_name: Optional[StrictStr] = Field(default=None, description="The name of the test. Test name must be unique.", alias="testName") type: Optional[StrictStr] = None links: Optional[TestLinks] = Field(default=None, alias="_links") - labels: Optional[List[StrictStr]] = Field(default=None, description="A list of test label identifiers (get `labelId` from `/labels` endpoint).") - shared_with_accounts: Optional[List[StrictStr]] = Field(default=None, description="A list of account group identifiers that the test is shared with (get `aid` from `/account-groups` endpoint).", alias="sharedWithAccounts") client_certificate: Optional[StrictStr] = Field(default=None, description="String representation (containing newline characters) of client certificate, the private key must be placed first, then the certificate.", alias="clientCertificate") client_cert_domains_allow_list: Optional[StrictStr] = Field(default=None, description="Comma separated list of domains to send the client certificate.", alias="clientCertDomainsAllowList") collect_proxy_network_data: Optional[StrictBool] = Field(default=False, description="Indicates whether network data to the proxy should be collected.", alias="collectProxyNetworkData") @@ -68,10 +67,13 @@ class ApiInstantTestRequest(BaseModel): target_time: Optional[Annotated[int, Field(le=60, strict=True, ge=0)]] = Field(default=None, description="Target time for completion metric, defaults to 50% of time limit specified in seconds. (0 means default behavior)", alias="targetTime") time_limit: Optional[Annotated[int, Field(le=180, strict=True, ge=5)]] = Field(default=30, description="Time limit for transaction in seconds. Exceeding this limit will result in a Timeout error.", alias="timeLimit") url: StrictStr = Field(description="Target for the test.") - credentials: Optional[List[StrictStr]] = Field(default=None, description="Contains a list of credential IDs (get `credentialId` from `/credentials` endpoint).") + labels: Optional[List[StrictStr]] = Field(default=None, description="A list of test label identifiers (get `labelId` from `/labels` endpoint).") tags: Optional[List[StrictStr]] = Field(default=None, description="A list of test tag identifiers (get `id` from `/tags` endpoint).") + shared_with_accounts: Optional[List[StrictStr]] = Field(default=None, description="A list of account group identifiers that the test is shared with (get `aid` from `/account-groups` endpoint).", alias="sharedWithAccounts") agents: List[TestAgent] = Field(description="A list of objects with `agentId` (required) and `sourceIpAddress` (optional).") - __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "clientCertificate", "clientCertDomainsAllowList", "collectProxyNetworkData", "distributedTracing", "followRedirects", "mtuMeasurements", "networkMeasurements", "numPathTraces", "overrideAgentProxy", "overrideProxyId", "pathTraceMode", "predefinedVariables", "probeMode", "protocol", "randomizedStartTime", "requests", "sslVersionId", "targetTime", "timeLimit", "url", "credentials", "tags", "agents"] + credentials: Optional[List[StrictStr]] = Field(default=None, description="Contains a list of credential IDs (get `credentialId` from `/credentials` endpoint).") + vault_credentials: Optional[List[TestVaultCredential]] = Field(default=None, description="List of credential IDs that are stored in an external vault.", alias="vaultCredentials") + __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "clientCertificate", "clientCertDomainsAllowList", "collectProxyNetworkData", "distributedTracing", "followRedirects", "mtuMeasurements", "networkMeasurements", "numPathTraces", "overrideAgentProxy", "overrideProxyId", "pathTraceMode", "predefinedVariables", "probeMode", "protocol", "randomizedStartTime", "requests", "sslVersionId", "targetTime", "timeLimit", "url", "labels", "tags", "sharedWithAccounts", "agents", "credentials", "vaultCredentials"] model_config = ConfigDict( populate_by_name=True, @@ -153,6 +155,13 @@ class ApiInstantTestRequest(BaseModel): if _item: _items.append(_item.to_dict()) _dict['agents'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in vault_credentials (list) + _items = [] + if self.vault_credentials: + for _item in self.vault_credentials: + if _item: + _items.append(_item.to_dict()) + _dict['vaultCredentials'] = _items return _dict @classmethod @@ -176,8 +185,6 @@ class ApiInstantTestRequest(BaseModel): "testName": obj.get("testName"), "type": obj.get("type"), "_links": TestLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, - "labels": obj.get("labels"), - "sharedWithAccounts": obj.get("sharedWithAccounts"), "clientCertificate": obj.get("clientCertificate"), "clientCertDomainsAllowList": obj.get("clientCertDomainsAllowList"), "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False, @@ -198,9 +205,12 @@ class ApiInstantTestRequest(BaseModel): "targetTime": obj.get("targetTime"), "timeLimit": obj.get("timeLimit") if obj.get("timeLimit") is not None else 30, "url": obj.get("url"), - "credentials": obj.get("credentials"), + "labels": obj.get("labels"), "tags": obj.get("tags"), - "agents": [TestAgent.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None + "sharedWithAccounts": obj.get("sharedWithAccounts"), + "agents": [TestAgent.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None, + "credentials": obj.get("credentials"), + "vaultCredentials": [TestVaultCredential.from_dict(_item) for _item in obj["vaultCredentials"]] if obj.get("vaultCredentials") is not None else None }) return _obj diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/api_instant_test_response.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/api_instant_test_response.py index 9ce1ea1e..ce28be19 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/api_instant_test_response.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/api_instant_test_response.py @@ -30,6 +30,7 @@ from thousandeyes_sdk.instant_tests.models.test_path_trace_mode import TestPathT from thousandeyes_sdk.instant_tests.models.test_probe_mode import TestProbeMode from thousandeyes_sdk.instant_tests.models.test_protocol import TestProtocol from thousandeyes_sdk.instant_tests.models.test_ssl_version_id import TestSslVersionId +from thousandeyes_sdk.instant_tests.models.test_vault_credential import TestVaultCredential from typing import Optional, Set from typing_extensions import Self @@ -71,8 +72,9 @@ class ApiInstantTestResponse(BaseModel): time_limit: Optional[Annotated[int, Field(le=180, strict=True, ge=5)]] = Field(default=30, description="Time limit for transaction in seconds. Exceeding this limit will result in a Timeout error.", alias="timeLimit") url: StrictStr = Field(description="Target for the test.") credentials: Optional[List[StrictStr]] = Field(default=None, description="Contains a list of credential IDs (get `credentialId` from `/credentials` endpoint).") + vault_credentials: Optional[List[TestVaultCredential]] = Field(default=None, description="List of credential IDs that are stored in an external vault.", alias="vaultCredentials") agents: Optional[List[AgentResponse]] = Field(default=None, description="Contains list of agents.") - __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "clientCertificate", "clientCertDomainsAllowList", "collectProxyNetworkData", "distributedTracing", "followRedirects", "mtuMeasurements", "networkMeasurements", "numPathTraces", "overrideAgentProxy", "overrideProxyId", "pathTraceMode", "predefinedVariables", "probeMode", "protocol", "randomizedStartTime", "requests", "sslVersionId", "targetTime", "timeLimit", "url", "credentials", "agents"] + __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "clientCertificate", "clientCertDomainsAllowList", "collectProxyNetworkData", "distributedTracing", "followRedirects", "mtuMeasurements", "networkMeasurements", "numPathTraces", "overrideAgentProxy", "overrideProxyId", "pathTraceMode", "predefinedVariables", "probeMode", "protocol", "randomizedStartTime", "requests", "sslVersionId", "targetTime", "timeLimit", "url", "credentials", "vaultCredentials", "agents"] model_config = ConfigDict( populate_by_name=True, @@ -165,6 +167,13 @@ class ApiInstantTestResponse(BaseModel): if _item: _items.append(_item.to_dict()) _dict['requests'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in vault_credentials (list) + _items = [] + if self.vault_credentials: + for _item in self.vault_credentials: + if _item: + _items.append(_item.to_dict()) + _dict['vaultCredentials'] = _items # override the default output from pydantic by calling `to_dict()` of each item in agents (list) _items = [] if self.agents: @@ -218,6 +227,7 @@ class ApiInstantTestResponse(BaseModel): "timeLimit": obj.get("timeLimit") if obj.get("timeLimit") is not None else 30, "url": obj.get("url"), "credentials": obj.get("credentials"), + "vaultCredentials": [TestVaultCredential.from_dict(_item) for _item in obj["vaultCredentials"]] if obj.get("vaultCredentials") is not None else None, "agents": [AgentResponse.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None }) return _obj diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/dns_sec_instant_test_request.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/dns_sec_instant_test_request.py index f6b30647..15e37bd1 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/dns_sec_instant_test_request.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/dns_sec_instant_test_request.py @@ -40,14 +40,14 @@ class DnsSecInstantTestRequest(BaseModel): test_name: Optional[StrictStr] = Field(default=None, description="The name of the test. Test name must be unique.", alias="testName") type: Optional[StrictStr] = None links: Optional[TestLinks] = Field(default=None, alias="_links") - labels: Optional[List[StrictStr]] = Field(default=None, description="A list of test label identifiers (get `labelId` from `/labels` endpoint).") - shared_with_accounts: Optional[List[StrictStr]] = Field(default=None, description="A list of account group identifiers that the test is shared with (get `aid` from `/account-groups` endpoint).", alias="sharedWithAccounts") domain: StrictStr = Field(description="The target record for the test, with the record type suffixed. If no record type is specified, the test defaults to an ANY record.") dns_query_class: Optional[DnsQueryClass] = Field(default=None, alias="dnsQueryClass") randomized_start_time: Optional[StrictBool] = Field(default=False, description="Indicates whether agents should randomize the start time in each test round.", alias="randomizedStartTime") + labels: Optional[List[StrictStr]] = Field(default=None, description="A list of test label identifiers (get `labelId` from `/labels` endpoint).") tags: Optional[List[StrictStr]] = Field(default=None, description="A list of test tag identifiers (get `id` from `/tags` endpoint).") + shared_with_accounts: Optional[List[StrictStr]] = Field(default=None, description="A list of account group identifiers that the test is shared with (get `aid` from `/account-groups` endpoint).", alias="sharedWithAccounts") agents: List[TestAgent] = Field(description="A list of objects with `agentId` (required) and `sourceIpAddress` (optional).") - __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "domain", "dnsQueryClass", "randomizedStartTime", "tags", "agents"] + __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "domain", "dnsQueryClass", "randomizedStartTime", "labels", "tags", "sharedWithAccounts", "agents"] model_config = ConfigDict( populate_by_name=True, @@ -138,12 +138,12 @@ class DnsSecInstantTestRequest(BaseModel): "testName": obj.get("testName"), "type": obj.get("type"), "_links": TestLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, - "labels": obj.get("labels"), - "sharedWithAccounts": obj.get("sharedWithAccounts"), "domain": obj.get("domain"), "dnsQueryClass": obj.get("dnsQueryClass"), "randomizedStartTime": obj.get("randomizedStartTime") if obj.get("randomizedStartTime") is not None else False, + "labels": obj.get("labels"), "tags": obj.get("tags"), + "sharedWithAccounts": obj.get("sharedWithAccounts"), "agents": [TestAgent.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None }) return _obj diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/dns_server_instant_test_request.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/dns_server_instant_test_request.py index b8afe673..f9f6ab11 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/dns_server_instant_test_request.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/dns_server_instant_test_request.py @@ -46,8 +46,6 @@ class DnsServerInstantTestRequest(BaseModel): test_name: Optional[StrictStr] = Field(default=None, description="The name of the test. Test name must be unique.", alias="testName") type: Optional[StrictStr] = None links: Optional[TestLinks] = Field(default=None, alias="_links") - labels: Optional[List[StrictStr]] = Field(default=None, description="A list of test label identifiers (get `labelId` from `/labels` endpoint).") - shared_with_accounts: Optional[List[StrictStr]] = Field(default=None, description="A list of account group identifiers that the test is shared with (get `aid` from `/account-groups` endpoint).", alias="sharedWithAccounts") bandwidth_measurements: Optional[StrictBool] = Field(default=None, description="Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test.", alias="bandwidthMeasurements") dns_servers: List[StrictStr] = Field(description="A list of DNS server FQDN.", alias="dnsServers") dns_transport_protocol: Optional[TestDnsTransportProtocol] = Field(default=None, alias="dnsTransportProtocol") @@ -63,9 +61,11 @@ class DnsServerInstantTestRequest(BaseModel): ipv6_policy: Optional[TestIpv6Policy] = Field(default=None, alias="ipv6Policy") fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") dns_query_class: Optional[DnsQueryClass] = Field(default=None, alias="dnsQueryClass") + labels: Optional[List[StrictStr]] = Field(default=None, description="A list of test label identifiers (get `labelId` from `/labels` endpoint).") tags: Optional[List[StrictStr]] = Field(default=None, description="A list of test tag identifiers (get `id` from `/tags` endpoint).") + shared_with_accounts: Optional[List[StrictStr]] = Field(default=None, description="A list of account group identifiers that the test is shared with (get `aid` from `/account-groups` endpoint).", alias="sharedWithAccounts") agents: List[TestAgent] = Field(description="A list of objects with `agentId` (required) and `sourceIpAddress` (optional).") - __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "bandwidthMeasurements", "dnsServers", "dnsTransportProtocol", "domain", "mtuMeasurements", "networkMeasurements", "numPathTraces", "pathTraceMode", "probeMode", "protocol", "randomizedStartTime", "recursiveQueries", "ipv6Policy", "fixedPacketRate", "dnsQueryClass", "tags", "agents"] + __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "bandwidthMeasurements", "dnsServers", "dnsTransportProtocol", "domain", "mtuMeasurements", "networkMeasurements", "numPathTraces", "pathTraceMode", "probeMode", "protocol", "randomizedStartTime", "recursiveQueries", "ipv6Policy", "fixedPacketRate", "dnsQueryClass", "labels", "tags", "sharedWithAccounts", "agents"] model_config = ConfigDict( populate_by_name=True, @@ -156,8 +156,6 @@ class DnsServerInstantTestRequest(BaseModel): "testName": obj.get("testName"), "type": obj.get("type"), "_links": TestLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, - "labels": obj.get("labels"), - "sharedWithAccounts": obj.get("sharedWithAccounts"), "bandwidthMeasurements": obj.get("bandwidthMeasurements"), "dnsServers": obj.get("dnsServers"), "dnsTransportProtocol": obj.get("dnsTransportProtocol"), @@ -173,7 +171,9 @@ class DnsServerInstantTestRequest(BaseModel): "ipv6Policy": obj.get("ipv6Policy"), "fixedPacketRate": obj.get("fixedPacketRate"), "dnsQueryClass": obj.get("dnsQueryClass"), + "labels": obj.get("labels"), "tags": obj.get("tags"), + "sharedWithAccounts": obj.get("sharedWithAccounts"), "agents": [TestAgent.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None }) return _obj diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/dns_server_request_properties.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/dns_server_request_properties.py new file mode 100644 index 00000000..c121d529 --- /dev/null +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/dns_server_request_properties.py @@ -0,0 +1,126 @@ +# coding: utf-8 + +""" + Instant Tests API + + The Instant Tests API operations lets you create and run new instant tests. You will need to be an Account Admin. The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing_extensions import Annotated +from thousandeyes_sdk.instant_tests.models.dns_query_class import DnsQueryClass +from thousandeyes_sdk.instant_tests.models.test_dns_transport_protocol import TestDnsTransportProtocol +from thousandeyes_sdk.instant_tests.models.test_ipv6_policy import TestIpv6Policy +from thousandeyes_sdk.instant_tests.models.test_path_trace_mode import TestPathTraceMode +from thousandeyes_sdk.instant_tests.models.test_probe_mode import TestProbeMode +from thousandeyes_sdk.instant_tests.models.test_protocol import TestProtocol +from typing import Optional, Set +from typing_extensions import Self + +class DnsServerRequestProperties(BaseModel): + """ + DnsServerRequestProperties + """ # noqa: E501 + bandwidth_measurements: Optional[StrictBool] = Field(default=None, description="Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test.", alias="bandwidthMeasurements") + dns_servers: List[StrictStr] = Field(description="A list of DNS server FQDN.", alias="dnsServers") + dns_transport_protocol: Optional[TestDnsTransportProtocol] = Field(default=None, alias="dnsTransportProtocol") + domain: StrictStr = Field(description="The target record for the test, with the record type suffixed. If no record type is specified, the test defaults to an ANY record.") + mtu_measurements: Optional[StrictBool] = Field(default=None, description="Set `true` to measure MTU sizes on network from agents to the target.", alias="mtuMeasurements") + network_measurements: Optional[StrictBool] = Field(default=True, description="Enable or disable network measurements. Set to true to enable or false to disable network measurements.", alias="networkMeasurements") + num_path_traces: Optional[Annotated[int, Field(le=10, strict=True, ge=1)]] = Field(default=3, description="Number of path traces executed by the agent.", alias="numPathTraces") + path_trace_mode: Optional[TestPathTraceMode] = Field(default=None, alias="pathTraceMode") + probe_mode: Optional[TestProbeMode] = Field(default=None, alias="probeMode") + protocol: Optional[TestProtocol] = None + randomized_start_time: Optional[StrictBool] = Field(default=False, description="Indicates whether agents should randomize the start time in each test round.", alias="randomizedStartTime") + recursive_queries: Optional[StrictBool] = Field(default=None, description="Set true to run query with RD (recursion desired) flag enabled.", alias="recursiveQueries") + ipv6_policy: Optional[TestIpv6Policy] = Field(default=None, alias="ipv6Policy") + fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") + dns_query_class: Optional[DnsQueryClass] = Field(default=None, alias="dnsQueryClass") + type: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["bandwidthMeasurements", "dnsServers", "dnsTransportProtocol", "domain", "mtuMeasurements", "networkMeasurements", "numPathTraces", "pathTraceMode", "probeMode", "protocol", "randomizedStartTime", "recursiveQueries", "ipv6Policy", "fixedPacketRate", "dnsQueryClass", "type"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + extra="allow", + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return self.model_dump_json(by_alias=True, exclude_unset=True, exclude_none=True) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DnsServerRequestProperties from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "type", + ]) + + _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 DnsServerRequestProperties from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "bandwidthMeasurements": obj.get("bandwidthMeasurements"), + "dnsServers": obj.get("dnsServers"), + "dnsTransportProtocol": obj.get("dnsTransportProtocol"), + "domain": obj.get("domain"), + "mtuMeasurements": obj.get("mtuMeasurements"), + "networkMeasurements": obj.get("networkMeasurements") if obj.get("networkMeasurements") is not None else True, + "numPathTraces": obj.get("numPathTraces") if obj.get("numPathTraces") is not None else 3, + "pathTraceMode": obj.get("pathTraceMode"), + "probeMode": obj.get("probeMode"), + "protocol": obj.get("protocol"), + "randomizedStartTime": obj.get("randomizedStartTime") if obj.get("randomizedStartTime") is not None else False, + "recursiveQueries": obj.get("recursiveQueries"), + "ipv6Policy": obj.get("ipv6Policy"), + "fixedPacketRate": obj.get("fixedPacketRate"), + "dnsQueryClass": obj.get("dnsQueryClass"), + "type": obj.get("type") + }) + return _obj + + diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/dns_trace_instant_test_request.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/dns_trace_instant_test_request.py index b6e9380e..0b0646fe 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/dns_trace_instant_test_request.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/dns_trace_instant_test_request.py @@ -41,15 +41,15 @@ class DnsTraceInstantTestRequest(BaseModel): test_name: Optional[StrictStr] = Field(default=None, description="The name of the test. Test name must be unique.", alias="testName") type: Optional[StrictStr] = None links: Optional[TestLinks] = Field(default=None, alias="_links") - labels: Optional[List[StrictStr]] = Field(default=None, description="A list of test label identifiers (get `labelId` from `/labels` endpoint).") - shared_with_accounts: Optional[List[StrictStr]] = Field(default=None, description="A list of account group identifiers that the test is shared with (get `aid` from `/account-groups` endpoint).", alias="sharedWithAccounts") dns_transport_protocol: Optional[TestDnsTransportProtocol] = Field(default=None, alias="dnsTransportProtocol") domain: StrictStr = Field(description="The target record for the test, with the record type suffixed. If no record type is specified, the test defaults to an ANY record.") dns_query_class: Optional[DnsQueryClass] = Field(default=None, alias="dnsQueryClass") randomized_start_time: Optional[StrictBool] = Field(default=False, description="Indicates whether agents should randomize the start time in each test round.", alias="randomizedStartTime") + labels: Optional[List[StrictStr]] = Field(default=None, description="A list of test label identifiers (get `labelId` from `/labels` endpoint).") tags: Optional[List[StrictStr]] = Field(default=None, description="A list of test tag identifiers (get `id` from `/tags` endpoint).") + shared_with_accounts: Optional[List[StrictStr]] = Field(default=None, description="A list of account group identifiers that the test is shared with (get `aid` from `/account-groups` endpoint).", alias="sharedWithAccounts") agents: List[TestAgent] = Field(description="A list of objects with `agentId` (required) and `sourceIpAddress` (optional).") - __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "dnsTransportProtocol", "domain", "dnsQueryClass", "randomizedStartTime", "tags", "agents"] + __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "dnsTransportProtocol", "domain", "dnsQueryClass", "randomizedStartTime", "labels", "tags", "sharedWithAccounts", "agents"] model_config = ConfigDict( populate_by_name=True, @@ -140,13 +140,13 @@ class DnsTraceInstantTestRequest(BaseModel): "testName": obj.get("testName"), "type": obj.get("type"), "_links": TestLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, - "labels": obj.get("labels"), - "sharedWithAccounts": obj.get("sharedWithAccounts"), "dnsTransportProtocol": obj.get("dnsTransportProtocol"), "domain": obj.get("domain"), "dnsQueryClass": obj.get("dnsQueryClass"), "randomizedStartTime": obj.get("randomizedStartTime") if obj.get("randomizedStartTime") is not None else False, + "labels": obj.get("labels"), "tags": obj.get("tags"), + "sharedWithAccounts": obj.get("sharedWithAccounts"), "agents": [TestAgent.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None }) return _obj diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/ftp_server_instant_test_request.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/ftp_server_instant_test_request.py index 1a0c940f..51942624 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/ftp_server_instant_test_request.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/ftp_server_instant_test_request.py @@ -45,8 +45,6 @@ class FtpServerInstantTestRequest(BaseModel): test_name: Optional[StrictStr] = Field(default=None, description="The name of the test. Test name must be unique.", alias="testName") type: Optional[StrictStr] = None links: Optional[TestLinks] = Field(default=None, alias="_links") - labels: Optional[List[StrictStr]] = Field(default=None, description="A list of test label identifiers (get `labelId` from `/labels` endpoint).") - shared_with_accounts: Optional[List[StrictStr]] = Field(default=None, description="A list of account group identifiers that the test is shared with (get `aid` from `/account-groups` endpoint).", alias="sharedWithAccounts") bandwidth_measurements: Optional[StrictBool] = Field(default=None, description="Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test.", alias="bandwidthMeasurements") download_limit: Optional[StrictInt] = Field(default=None, description="Specify maximum number of bytes to download from the target object.", alias="downloadLimit") ftp_target_time: Optional[Annotated[int, Field(le=6000, strict=True, ge=1000)]] = Field(default=None, description="Target time for operation completion; specified in milliseconds.", alias="ftpTargetTime") @@ -66,9 +64,11 @@ class FtpServerInstantTestRequest(BaseModel): username: StrictStr = Field(description="Username for Basic/NTLM authentication.") fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") ipv6_policy: Optional[TestIpv6Policy] = Field(default=None, alias="ipv6Policy") + labels: Optional[List[StrictStr]] = Field(default=None, description="A list of test label identifiers (get `labelId` from `/labels` endpoint).") tags: Optional[List[StrictStr]] = Field(default=None, description="A list of test tag identifiers (get `id` from `/tags` endpoint).") + shared_with_accounts: Optional[List[StrictStr]] = Field(default=None, description="A list of account group identifiers that the test is shared with (get `aid` from `/account-groups` endpoint).", alias="sharedWithAccounts") agents: List[TestAgent] = Field(description="A list of objects with `agentId` (required) and `sourceIpAddress` (optional).") - __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "bandwidthMeasurements", "downloadLimit", "ftpTargetTime", "ftpTimeLimit", "mtuMeasurements", "networkMeasurements", "numPathTraces", "password", "pathTraceMode", "probeMode", "protocol", "randomizedStartTime", "requestType", "url", "useActiveFtp", "useExplicitFtps", "username", "fixedPacketRate", "ipv6Policy", "tags", "agents"] + __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "bandwidthMeasurements", "downloadLimit", "ftpTargetTime", "ftpTimeLimit", "mtuMeasurements", "networkMeasurements", "numPathTraces", "password", "pathTraceMode", "probeMode", "protocol", "randomizedStartTime", "requestType", "url", "useActiveFtp", "useExplicitFtps", "username", "fixedPacketRate", "ipv6Policy", "labels", "tags", "sharedWithAccounts", "agents"] model_config = ConfigDict( populate_by_name=True, @@ -159,8 +159,6 @@ class FtpServerInstantTestRequest(BaseModel): "testName": obj.get("testName"), "type": obj.get("type"), "_links": TestLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, - "labels": obj.get("labels"), - "sharedWithAccounts": obj.get("sharedWithAccounts"), "bandwidthMeasurements": obj.get("bandwidthMeasurements"), "downloadLimit": obj.get("downloadLimit"), "ftpTargetTime": obj.get("ftpTargetTime"), @@ -180,7 +178,9 @@ class FtpServerInstantTestRequest(BaseModel): "username": obj.get("username"), "fixedPacketRate": obj.get("fixedPacketRate"), "ipv6Policy": obj.get("ipv6Policy"), + "labels": obj.get("labels"), "tags": obj.get("tags"), + "sharedWithAccounts": obj.get("sharedWithAccounts"), "agents": [TestAgent.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None }) return _obj diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/http_server_base_properties.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/http_server_base_properties.py index 4941f12d..ca4f02ae 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/http_server_base_properties.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/http_server_base_properties.py @@ -27,6 +27,7 @@ from thousandeyes_sdk.instant_tests.models.test_path_trace_mode import TestPathT from thousandeyes_sdk.instant_tests.models.test_probe_mode import TestProbeMode from thousandeyes_sdk.instant_tests.models.test_protocol import TestProtocol from thousandeyes_sdk.instant_tests.models.test_ssl_version_id import TestSslVersionId +from thousandeyes_sdk.instant_tests.models.test_vault_credential import TestVaultCredential from typing import Optional, Set from typing_extensions import Self @@ -69,7 +70,8 @@ class HttpServerBaseProperties(BaseModel): override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") collect_proxy_network_data: Optional[StrictBool] = Field(default=False, description="Indicates whether network data to the proxy should be collected.", alias="collectProxyNetworkData") - __properties: ClassVar[List[str]] = ["authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "distributedTracing", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData"] + vault_credentials: Optional[List[TestVaultCredential]] = Field(default=None, description="List of credential IDs that are stored in an external vault.", alias="vaultCredentials") + __properties: ClassVar[List[str]] = ["authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "distributedTracing", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "vaultCredentials"] model_config = ConfigDict( populate_by_name=True, @@ -122,6 +124,13 @@ class HttpServerBaseProperties(BaseModel): # override the default output from pydantic by calling `to_dict()` of o_auth if self.o_auth: _dict['oAuth'] = self.o_auth.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in vault_credentials (list) + _items = [] + if self.vault_credentials: + for _item in self.vault_credentials: + if _item: + _items.append(_item.to_dict()) + _dict['vaultCredentials'] = _items return _dict @classmethod @@ -168,7 +177,8 @@ class HttpServerBaseProperties(BaseModel): "fixedPacketRate": obj.get("fixedPacketRate"), "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, "overrideProxyId": obj.get("overrideProxyId"), - "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False + "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False, + "vaultCredentials": [TestVaultCredential.from_dict(_item) for _item in obj["vaultCredentials"]] if obj.get("vaultCredentials") is not None else None }) return _obj diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/http_server_instant_test.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/http_server_instant_test.py index e09471b7..b4fd7a0a 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/http_server_instant_test.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/http_server_instant_test.py @@ -32,6 +32,7 @@ from thousandeyes_sdk.instant_tests.models.test_path_trace_mode import TestPathT from thousandeyes_sdk.instant_tests.models.test_probe_mode import TestProbeMode from thousandeyes_sdk.instant_tests.models.test_protocol import TestProtocol from thousandeyes_sdk.instant_tests.models.test_ssl_version_id import TestSslVersionId +from thousandeyes_sdk.instant_tests.models.test_vault_credential import TestVaultCredential from typing import Optional, Set from typing_extensions import Self @@ -87,11 +88,12 @@ class HttpServerInstantTest(BaseModel): override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") collect_proxy_network_data: Optional[StrictBool] = Field(default=False, description="Indicates whether network data to the proxy should be collected.", alias="collectProxyNetworkData") + vault_credentials: Optional[List[TestVaultCredential]] = Field(default=None, description="List of credential IDs that are stored in an external vault.", alias="vaultCredentials") headers: Optional[List[StrictStr]] = Field(default=None, description="HTTP request headers used.") randomized_start_time: Optional[StrictBool] = Field(default=False, description="Indicates whether agents should randomize the start time in each test round.", alias="randomizedStartTime") post_body: Optional[StrictStr] = Field(default=None, description="Enter the body for the HTTP POST request in this field. No special escaping is necessary. If the post body is provided with content, the `requestMethod` is automatically set to POST.", alias="postBody") ipv6_policy: Optional[TestIpv6Policy] = Field(default=None, alias="ipv6Policy") - __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "distributedTracing", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "headers", "randomizedStartTime", "postBody", "ipv6Policy"] + __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "distributedTracing", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "vaultCredentials", "headers", "randomizedStartTime", "postBody", "ipv6Policy"] model_config = ConfigDict( populate_by_name=True, @@ -181,6 +183,13 @@ class HttpServerInstantTest(BaseModel): # override the default output from pydantic by calling `to_dict()` of o_auth if self.o_auth: _dict['oAuth'] = self.o_auth.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in vault_credentials (list) + _items = [] + if self.vault_credentials: + for _item in self.vault_credentials: + if _item: + _items.append(_item.to_dict()) + _dict['vaultCredentials'] = _items return _dict @classmethod @@ -241,6 +250,7 @@ class HttpServerInstantTest(BaseModel): "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, "overrideProxyId": obj.get("overrideProxyId"), "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False, + "vaultCredentials": [TestVaultCredential.from_dict(_item) for _item in obj["vaultCredentials"]] if obj.get("vaultCredentials") is not None else None, "headers": obj.get("headers"), "randomizedStartTime": obj.get("randomizedStartTime") if obj.get("randomizedStartTime") is not None else False, "postBody": obj.get("postBody"), diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/http_server_instant_test_request.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/http_server_instant_test_request.py index 60c111d0..3454ca04 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/http_server_instant_test_request.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/http_server_instant_test_request.py @@ -31,6 +31,7 @@ from thousandeyes_sdk.instant_tests.models.test_path_trace_mode import TestPathT from thousandeyes_sdk.instant_tests.models.test_probe_mode import TestProbeMode from thousandeyes_sdk.instant_tests.models.test_protocol import TestProtocol from thousandeyes_sdk.instant_tests.models.test_ssl_version_id import TestSslVersionId +from thousandeyes_sdk.instant_tests.models.test_vault_credential import TestVaultCredential from typing import Optional, Set from typing_extensions import Self @@ -49,8 +50,6 @@ class HttpServerInstantTestRequest(BaseModel): test_name: Optional[StrictStr] = Field(default=None, description="The name of the test. Test name must be unique.", alias="testName") type: Optional[StrictStr] = None links: Optional[TestLinks] = Field(default=None, alias="_links") - labels: Optional[List[StrictStr]] = Field(default=None, description="A list of test label identifiers (get `labelId` from `/labels` endpoint).") - shared_with_accounts: Optional[List[StrictStr]] = Field(default=None, description="A list of account group identifiers that the test is shared with (get `aid` from `/account-groups` endpoint).", alias="sharedWithAccounts") auth_type: Optional[TestAuthType] = Field(default=None, alias="authType") agent_interfaces: Optional[AgentInterfaces] = Field(default=None, alias="agentInterfaces") bandwidth_measurements: Optional[StrictBool] = Field(default=None, description="Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test.", alias="bandwidthMeasurements") @@ -86,13 +85,16 @@ class HttpServerInstantTestRequest(BaseModel): override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") collect_proxy_network_data: Optional[StrictBool] = Field(default=False, description="Indicates whether network data to the proxy should be collected.", alias="collectProxyNetworkData") + vault_credentials: Optional[List[TestVaultCredential]] = Field(default=None, description="List of credential IDs that are stored in an external vault.", alias="vaultCredentials") headers: Optional[List[StrictStr]] = Field(default=None, description="HTTP request headers used.") randomized_start_time: Optional[StrictBool] = Field(default=False, description="Indicates whether agents should randomize the start time in each test round.", alias="randomizedStartTime") post_body: Optional[StrictStr] = Field(default=None, description="Enter the body for the HTTP POST request in this field. No special escaping is necessary. If the post body is provided with content, the `requestMethod` is automatically set to POST.", alias="postBody") ipv6_policy: Optional[TestIpv6Policy] = Field(default=None, alias="ipv6Policy") + labels: Optional[List[StrictStr]] = Field(default=None, description="A list of test label identifiers (get `labelId` from `/labels` endpoint).") tags: Optional[List[StrictStr]] = Field(default=None, description="A list of test tag identifiers (get `id` from `/tags` endpoint).") + shared_with_accounts: Optional[List[StrictStr]] = Field(default=None, description="A list of account group identifiers that the test is shared with (get `aid` from `/account-groups` endpoint).", alias="sharedWithAccounts") agents: List[TestAgent] = Field(description="A list of objects with `agentId` (required) and `sourceIpAddress` (optional).") - __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "distributedTracing", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "headers", "randomizedStartTime", "postBody", "ipv6Policy", "tags", "agents"] + __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "distributedTracing", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "vaultCredentials", "headers", "randomizedStartTime", "postBody", "ipv6Policy", "labels", "tags", "sharedWithAccounts", "agents"] model_config = ConfigDict( populate_by_name=True, @@ -164,6 +166,13 @@ class HttpServerInstantTestRequest(BaseModel): # override the default output from pydantic by calling `to_dict()` of o_auth if self.o_auth: _dict['oAuth'] = self.o_auth.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in vault_credentials (list) + _items = [] + if self.vault_credentials: + for _item in self.vault_credentials: + if _item: + _items.append(_item.to_dict()) + _dict['vaultCredentials'] = _items # override the default output from pydantic by calling `to_dict()` of each item in agents (list) _items = [] if self.agents: @@ -194,8 +203,6 @@ class HttpServerInstantTestRequest(BaseModel): "testName": obj.get("testName"), "type": obj.get("type"), "_links": TestLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, - "labels": obj.get("labels"), - "sharedWithAccounts": obj.get("sharedWithAccounts"), "authType": obj.get("authType"), "agentInterfaces": AgentInterfaces.from_dict(obj["agentInterfaces"]) if obj.get("agentInterfaces") is not None else None, "bandwidthMeasurements": obj.get("bandwidthMeasurements"), @@ -231,11 +238,14 @@ class HttpServerInstantTestRequest(BaseModel): "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, "overrideProxyId": obj.get("overrideProxyId"), "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False, + "vaultCredentials": [TestVaultCredential.from_dict(_item) for _item in obj["vaultCredentials"]] if obj.get("vaultCredentials") is not None else None, "headers": obj.get("headers"), "randomizedStartTime": obj.get("randomizedStartTime") if obj.get("randomizedStartTime") is not None else False, "postBody": obj.get("postBody"), "ipv6Policy": obj.get("ipv6Policy"), + "labels": obj.get("labels"), "tags": obj.get("tags"), + "sharedWithAccounts": obj.get("sharedWithAccounts"), "agents": [TestAgent.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None }) return _obj diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/http_server_instant_test_response.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/http_server_instant_test_response.py index 259c9259..e89ea19f 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/http_server_instant_test_response.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/http_server_instant_test_response.py @@ -33,6 +33,7 @@ from thousandeyes_sdk.instant_tests.models.test_path_trace_mode import TestPathT from thousandeyes_sdk.instant_tests.models.test_probe_mode import TestProbeMode from thousandeyes_sdk.instant_tests.models.test_protocol import TestProtocol from thousandeyes_sdk.instant_tests.models.test_ssl_version_id import TestSslVersionId +from thousandeyes_sdk.instant_tests.models.test_vault_credential import TestVaultCredential from typing import Optional, Set from typing_extensions import Self @@ -88,12 +89,13 @@ class HttpServerInstantTestResponse(BaseModel): override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") collect_proxy_network_data: Optional[StrictBool] = Field(default=False, description="Indicates whether network data to the proxy should be collected.", alias="collectProxyNetworkData") + vault_credentials: Optional[List[TestVaultCredential]] = Field(default=None, description="List of credential IDs that are stored in an external vault.", alias="vaultCredentials") headers: Optional[List[StrictStr]] = Field(default=None, description="HTTP request headers used.") randomized_start_time: Optional[StrictBool] = Field(default=False, description="Indicates whether agents should randomize the start time in each test round.", alias="randomizedStartTime") post_body: Optional[StrictStr] = Field(default=None, description="Enter the body for the HTTP POST request in this field. No special escaping is necessary. If the post body is provided with content, the `requestMethod` is automatically set to POST.", alias="postBody") ipv6_policy: Optional[TestIpv6Policy] = Field(default=None, alias="ipv6Policy") agents: Optional[List[AgentResponse]] = Field(default=None, description="Contains list of agents.") - __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "distributedTracing", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "headers", "randomizedStartTime", "postBody", "ipv6Policy", "agents"] + __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "distributedTracing", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "vaultCredentials", "headers", "randomizedStartTime", "postBody", "ipv6Policy", "agents"] model_config = ConfigDict( populate_by_name=True, @@ -183,6 +185,13 @@ class HttpServerInstantTestResponse(BaseModel): # override the default output from pydantic by calling `to_dict()` of o_auth if self.o_auth: _dict['oAuth'] = self.o_auth.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in vault_credentials (list) + _items = [] + if self.vault_credentials: + for _item in self.vault_credentials: + if _item: + _items.append(_item.to_dict()) + _dict['vaultCredentials'] = _items # override the default output from pydantic by calling `to_dict()` of each item in agents (list) _items = [] if self.agents: @@ -250,6 +259,7 @@ class HttpServerInstantTestResponse(BaseModel): "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, "overrideProxyId": obj.get("overrideProxyId"), "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False, + "vaultCredentials": [TestVaultCredential.from_dict(_item) for _item in obj["vaultCredentials"]] if obj.get("vaultCredentials") is not None else None, "headers": obj.get("headers"), "randomizedStartTime": obj.get("randomizedStartTime") if obj.get("randomizedStartTime") is not None else False, "postBody": obj.get("postBody"), diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/http_server_properties.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/http_server_properties.py index c14adf84..6fa902d0 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/http_server_properties.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/http_server_properties.py @@ -28,6 +28,7 @@ from thousandeyes_sdk.instant_tests.models.test_path_trace_mode import TestPathT from thousandeyes_sdk.instant_tests.models.test_probe_mode import TestProbeMode from thousandeyes_sdk.instant_tests.models.test_protocol import TestProtocol from thousandeyes_sdk.instant_tests.models.test_ssl_version_id import TestSslVersionId +from thousandeyes_sdk.instant_tests.models.test_vault_credential import TestVaultCredential from typing import Optional, Set from typing_extensions import Self @@ -70,12 +71,13 @@ class HttpServerProperties(BaseModel): override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") collect_proxy_network_data: Optional[StrictBool] = Field(default=False, description="Indicates whether network data to the proxy should be collected.", alias="collectProxyNetworkData") + vault_credentials: Optional[List[TestVaultCredential]] = Field(default=None, description="List of credential IDs that are stored in an external vault.", alias="vaultCredentials") headers: Optional[List[StrictStr]] = Field(default=None, description="HTTP request headers used.") randomized_start_time: Optional[StrictBool] = Field(default=False, description="Indicates whether agents should randomize the start time in each test round.", alias="randomizedStartTime") post_body: Optional[StrictStr] = Field(default=None, description="Enter the body for the HTTP POST request in this field. No special escaping is necessary. If the post body is provided with content, the `requestMethod` is automatically set to POST.", alias="postBody") ipv6_policy: Optional[TestIpv6Policy] = Field(default=None, alias="ipv6Policy") type: Optional[StrictStr] = None - __properties: ClassVar[List[str]] = ["authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "distributedTracing", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "headers", "randomizedStartTime", "postBody", "ipv6Policy", "type"] + __properties: ClassVar[List[str]] = ["authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "distributedTracing", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "vaultCredentials", "headers", "randomizedStartTime", "postBody", "ipv6Policy", "type"] model_config = ConfigDict( populate_by_name=True, @@ -130,6 +132,13 @@ class HttpServerProperties(BaseModel): # override the default output from pydantic by calling `to_dict()` of o_auth if self.o_auth: _dict['oAuth'] = self.o_auth.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in vault_credentials (list) + _items = [] + if self.vault_credentials: + for _item in self.vault_credentials: + if _item: + _items.append(_item.to_dict()) + _dict['vaultCredentials'] = _items return _dict @classmethod @@ -177,6 +186,7 @@ class HttpServerProperties(BaseModel): "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, "overrideProxyId": obj.get("overrideProxyId"), "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False, + "vaultCredentials": [TestVaultCredential.from_dict(_item) for _item in obj["vaultCredentials"]] if obj.get("vaultCredentials") is not None else None, "headers": obj.get("headers"), "randomizedStartTime": obj.get("randomizedStartTime") if obj.get("randomizedStartTime") is not None else False, "postBody": obj.get("postBody"), diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/network_provider_info.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/network_provider_info.py new file mode 100644 index 00000000..79db916f --- /dev/null +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/network_provider_info.py @@ -0,0 +1,96 @@ +# coding: utf-8 + +""" + Instant Tests API + + The Instant Tests API operations lets you create and run new instant tests. You will need to be an Account Admin. The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from thousandeyes_sdk.instant_tests.models.network_provider_type import NetworkProviderType +from typing import Optional, Set +from typing_extensions import Self + +class NetworkProviderInfo(BaseModel): + """ + Information about the network provider that owns the agent's public IP prefix. + """ # noqa: E501 + asn: Optional[StrictInt] = Field(default=None, description="Autonomous System Number (ASN) announcing the agent's public IP prefix.") + name: Optional[StrictStr] = Field(default=None, description="Name of the network provider organization.") + type: Optional[NetworkProviderType] = None + __properties: ClassVar[List[str]] = ["asn", "name", "type"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + extra="allow", + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return self.model_dump_json(by_alias=True, exclude_unset=True, exclude_none=True) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of NetworkProviderInfo from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "asn", + "name", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of NetworkProviderInfo from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "asn": obj.get("asn"), + "name": obj.get("name"), + "type": obj.get("type") + }) + return _obj + + diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/network_provider_type.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/network_provider_type.py new file mode 100644 index 00000000..575d327c --- /dev/null +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/network_provider_type.py @@ -0,0 +1,44 @@ +# coding: utf-8 + +""" + Instant Tests API + + The Instant Tests API operations lets you create and run new instant tests. You will need to be an Account Admin. The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class NetworkProviderType(str, Enum): + """ + Classification of the agent's network provider. + """ + + """ + allowed enum values + """ + UNKNOWN = 'unknown' + ISP = 'isp' + CDN = 'cdn' + STUB = 'stub' + CLOUD_MINUS_PROVIDER = 'cloud-provider' + CARRIER = 'carrier' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of NetworkProviderType from a JSON string""" + return cls(json.loads(json_str)) + + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN + diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/page_load_instant_test.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/page_load_instant_test.py index cbc1d27b..86d23430 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/page_load_instant_test.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/page_load_instant_test.py @@ -32,6 +32,7 @@ from thousandeyes_sdk.instant_tests.models.test_path_trace_mode import TestPathT from thousandeyes_sdk.instant_tests.models.test_probe_mode import TestProbeMode from thousandeyes_sdk.instant_tests.models.test_protocol import TestProtocol from thousandeyes_sdk.instant_tests.models.test_ssl_version_id import TestSslVersionId +from thousandeyes_sdk.instant_tests.models.test_vault_credential import TestVaultCredential from typing import Optional, Set from typing_extensions import Self @@ -87,6 +88,7 @@ class PageLoadInstantTest(BaseModel): override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") collect_proxy_network_data: Optional[StrictBool] = Field(default=False, description="Indicates whether network data to the proxy should be collected.", alias="collectProxyNetworkData") + vault_credentials: Optional[List[TestVaultCredential]] = Field(default=None, description="List of credential IDs that are stored in an external vault.", alias="vaultCredentials") emulated_device_id: Optional[StrictStr] = Field(default=None, description="ID of the emulated device, if one was given when the test was created.", alias="emulatedDeviceId") page_load_target_time: Optional[Annotated[int, Field(le=60, strict=True, ge=1)]] = Field(default=None, description="Target time for page load completion, specified in seconds and cannot exceed the `pageLoadTimeLimit`.", alias="pageLoadTargetTime") page_load_time_limit: Optional[Annotated[int, Field(le=60, strict=True, ge=5)]] = Field(default=10, description="Page load time limit. Must be larger than the `httpTimeLimit`.", alias="pageLoadTimeLimit") @@ -100,7 +102,7 @@ class PageLoadInstantTest(BaseModel): page_loading_strategy: Optional[TestPageLoadingStrategy] = Field(default=None, alias="pageLoadingStrategy") randomized_start_time: Optional[StrictBool] = Field(default=False, description="Indicates whether agents should randomize the start time in each test round.", alias="randomizedStartTime") identify_agent_traffic_with_user_agent: Optional[StrictBool] = Field(default=False, description="Determines how agent traffic is identified: * `false`: Adds the `x-thousandeyes-agent: yes` header. * `true`: Appends `(ThousandEyes Agent)` to the `user-agent` header. For more information, see [Notes on Agent ID Strategy](https://docs.thousandeyes.com/product-documentation/browser-synthetics/test-settings-page-load-transaction#notes-on-agent-id-strategy). ", alias="identifyAgentTrafficWithUserAgent") - __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "distributedTracing", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "emulatedDeviceId", "pageLoadTargetTime", "pageLoadTimeLimit", "blockDomains", "disableScreenshot", "allowMicAndCamera", "allowGeolocation", "browserLanguage", "chromeOptions", "chromePolicies", "pageLoadingStrategy", "randomizedStartTime", "identifyAgentTrafficWithUserAgent"] + __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "distributedTracing", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "vaultCredentials", "emulatedDeviceId", "pageLoadTargetTime", "pageLoadTimeLimit", "blockDomains", "disableScreenshot", "allowMicAndCamera", "allowGeolocation", "browserLanguage", "chromeOptions", "chromePolicies", "pageLoadingStrategy", "randomizedStartTime", "identifyAgentTrafficWithUserAgent"] model_config = ConfigDict( populate_by_name=True, @@ -190,6 +192,13 @@ class PageLoadInstantTest(BaseModel): # override the default output from pydantic by calling `to_dict()` of o_auth if self.o_auth: _dict['oAuth'] = self.o_auth.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in vault_credentials (list) + _items = [] + if self.vault_credentials: + for _item in self.vault_credentials: + if _item: + _items.append(_item.to_dict()) + _dict['vaultCredentials'] = _items return _dict @classmethod @@ -250,6 +259,7 @@ class PageLoadInstantTest(BaseModel): "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, "overrideProxyId": obj.get("overrideProxyId"), "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False, + "vaultCredentials": [TestVaultCredential.from_dict(_item) for _item in obj["vaultCredentials"]] if obj.get("vaultCredentials") is not None else None, "emulatedDeviceId": obj.get("emulatedDeviceId"), "pageLoadTargetTime": obj.get("pageLoadTargetTime"), "pageLoadTimeLimit": obj.get("pageLoadTimeLimit") if obj.get("pageLoadTimeLimit") is not None else 10, diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/page_load_instant_test_request.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/page_load_instant_test_request.py index 3822db20..6dd037d4 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/page_load_instant_test_request.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/page_load_instant_test_request.py @@ -31,6 +31,7 @@ from thousandeyes_sdk.instant_tests.models.test_path_trace_mode import TestPathT from thousandeyes_sdk.instant_tests.models.test_probe_mode import TestProbeMode from thousandeyes_sdk.instant_tests.models.test_protocol import TestProtocol from thousandeyes_sdk.instant_tests.models.test_ssl_version_id import TestSslVersionId +from thousandeyes_sdk.instant_tests.models.test_vault_credential import TestVaultCredential from typing import Optional, Set from typing_extensions import Self @@ -49,8 +50,6 @@ class PageLoadInstantTestRequest(BaseModel): test_name: Optional[StrictStr] = Field(default=None, description="The name of the test. Test name must be unique.", alias="testName") type: Optional[StrictStr] = None links: Optional[TestLinks] = Field(default=None, alias="_links") - labels: Optional[List[StrictStr]] = Field(default=None, description="A list of test label identifiers (get `labelId` from `/labels` endpoint).") - shared_with_accounts: Optional[List[StrictStr]] = Field(default=None, description="A list of account group identifiers that the test is shared with (get `aid` from `/account-groups` endpoint).", alias="sharedWithAccounts") auth_type: Optional[TestAuthType] = Field(default=None, alias="authType") agent_interfaces: Optional[AgentInterfaces] = Field(default=None, alias="agentInterfaces") bandwidth_measurements: Optional[StrictBool] = Field(default=None, description="Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test.", alias="bandwidthMeasurements") @@ -86,6 +85,7 @@ class PageLoadInstantTestRequest(BaseModel): override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") collect_proxy_network_data: Optional[StrictBool] = Field(default=False, description="Indicates whether network data to the proxy should be collected.", alias="collectProxyNetworkData") + vault_credentials: Optional[List[TestVaultCredential]] = Field(default=None, description="List of credential IDs that are stored in an external vault.", alias="vaultCredentials") emulated_device_id: Optional[StrictStr] = Field(default=None, description="ID of the emulated device, if one was given when the test was created.", alias="emulatedDeviceId") page_load_target_time: Optional[Annotated[int, Field(le=60, strict=True, ge=1)]] = Field(default=None, description="Target time for page load completion, specified in seconds and cannot exceed the `pageLoadTimeLimit`.", alias="pageLoadTargetTime") page_load_time_limit: Optional[Annotated[int, Field(le=60, strict=True, ge=5)]] = Field(default=10, description="Page load time limit. Must be larger than the `httpTimeLimit`.", alias="pageLoadTimeLimit") @@ -99,9 +99,11 @@ class PageLoadInstantTestRequest(BaseModel): page_loading_strategy: Optional[TestPageLoadingStrategy] = Field(default=None, alias="pageLoadingStrategy") randomized_start_time: Optional[StrictBool] = Field(default=False, description="Indicates whether agents should randomize the start time in each test round.", alias="randomizedStartTime") identify_agent_traffic_with_user_agent: Optional[StrictBool] = Field(default=False, description="Determines how agent traffic is identified: * `false`: Adds the `x-thousandeyes-agent: yes` header. * `true`: Appends `(ThousandEyes Agent)` to the `user-agent` header. For more information, see [Notes on Agent ID Strategy](https://docs.thousandeyes.com/product-documentation/browser-synthetics/test-settings-page-load-transaction#notes-on-agent-id-strategy). ", alias="identifyAgentTrafficWithUserAgent") + labels: Optional[List[StrictStr]] = Field(default=None, description="A list of test label identifiers (get `labelId` from `/labels` endpoint).") tags: Optional[List[StrictStr]] = Field(default=None, description="A list of test tag identifiers (get `id` from `/tags` endpoint).") + shared_with_accounts: Optional[List[StrictStr]] = Field(default=None, description="A list of account group identifiers that the test is shared with (get `aid` from `/account-groups` endpoint).", alias="sharedWithAccounts") agents: List[TestAgent] = Field(description="A list of objects with `agentId` (required) and `sourceIpAddress` (optional).") - __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "distributedTracing", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "emulatedDeviceId", "pageLoadTargetTime", "pageLoadTimeLimit", "blockDomains", "disableScreenshot", "allowMicAndCamera", "allowGeolocation", "browserLanguage", "chromeOptions", "chromePolicies", "pageLoadingStrategy", "randomizedStartTime", "identifyAgentTrafficWithUserAgent", "tags", "agents"] + __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "distributedTracing", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "vaultCredentials", "emulatedDeviceId", "pageLoadTargetTime", "pageLoadTimeLimit", "blockDomains", "disableScreenshot", "allowMicAndCamera", "allowGeolocation", "browserLanguage", "chromeOptions", "chromePolicies", "pageLoadingStrategy", "randomizedStartTime", "identifyAgentTrafficWithUserAgent", "labels", "tags", "sharedWithAccounts", "agents"] model_config = ConfigDict( populate_by_name=True, @@ -173,6 +175,13 @@ class PageLoadInstantTestRequest(BaseModel): # override the default output from pydantic by calling `to_dict()` of o_auth if self.o_auth: _dict['oAuth'] = self.o_auth.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in vault_credentials (list) + _items = [] + if self.vault_credentials: + for _item in self.vault_credentials: + if _item: + _items.append(_item.to_dict()) + _dict['vaultCredentials'] = _items # override the default output from pydantic by calling `to_dict()` of each item in agents (list) _items = [] if self.agents: @@ -203,8 +212,6 @@ class PageLoadInstantTestRequest(BaseModel): "testName": obj.get("testName"), "type": obj.get("type"), "_links": TestLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, - "labels": obj.get("labels"), - "sharedWithAccounts": obj.get("sharedWithAccounts"), "authType": obj.get("authType"), "agentInterfaces": AgentInterfaces.from_dict(obj["agentInterfaces"]) if obj.get("agentInterfaces") is not None else None, "bandwidthMeasurements": obj.get("bandwidthMeasurements"), @@ -240,6 +247,7 @@ class PageLoadInstantTestRequest(BaseModel): "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, "overrideProxyId": obj.get("overrideProxyId"), "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False, + "vaultCredentials": [TestVaultCredential.from_dict(_item) for _item in obj["vaultCredentials"]] if obj.get("vaultCredentials") is not None else None, "emulatedDeviceId": obj.get("emulatedDeviceId"), "pageLoadTargetTime": obj.get("pageLoadTargetTime"), "pageLoadTimeLimit": obj.get("pageLoadTimeLimit") if obj.get("pageLoadTimeLimit") is not None else 10, @@ -253,7 +261,9 @@ class PageLoadInstantTestRequest(BaseModel): "pageLoadingStrategy": obj.get("pageLoadingStrategy"), "randomizedStartTime": obj.get("randomizedStartTime") if obj.get("randomizedStartTime") is not None else False, "identifyAgentTrafficWithUserAgent": obj.get("identifyAgentTrafficWithUserAgent") if obj.get("identifyAgentTrafficWithUserAgent") is not None else False, + "labels": obj.get("labels"), "tags": obj.get("tags"), + "sharedWithAccounts": obj.get("sharedWithAccounts"), "agents": [TestAgent.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None }) return _obj diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/page_load_instant_test_response.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/page_load_instant_test_response.py index ead00254..02ac027b 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/page_load_instant_test_response.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/page_load_instant_test_response.py @@ -33,6 +33,7 @@ from thousandeyes_sdk.instant_tests.models.test_path_trace_mode import TestPathT from thousandeyes_sdk.instant_tests.models.test_probe_mode import TestProbeMode from thousandeyes_sdk.instant_tests.models.test_protocol import TestProtocol from thousandeyes_sdk.instant_tests.models.test_ssl_version_id import TestSslVersionId +from thousandeyes_sdk.instant_tests.models.test_vault_credential import TestVaultCredential from typing import Optional, Set from typing_extensions import Self @@ -88,6 +89,7 @@ class PageLoadInstantTestResponse(BaseModel): override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") collect_proxy_network_data: Optional[StrictBool] = Field(default=False, description="Indicates whether network data to the proxy should be collected.", alias="collectProxyNetworkData") + vault_credentials: Optional[List[TestVaultCredential]] = Field(default=None, description="List of credential IDs that are stored in an external vault.", alias="vaultCredentials") emulated_device_id: Optional[StrictStr] = Field(default=None, description="ID of the emulated device, if one was given when the test was created.", alias="emulatedDeviceId") page_load_target_time: Optional[Annotated[int, Field(le=60, strict=True, ge=1)]] = Field(default=None, description="Target time for page load completion, specified in seconds and cannot exceed the `pageLoadTimeLimit`.", alias="pageLoadTargetTime") page_load_time_limit: Optional[Annotated[int, Field(le=60, strict=True, ge=5)]] = Field(default=10, description="Page load time limit. Must be larger than the `httpTimeLimit`.", alias="pageLoadTimeLimit") @@ -102,7 +104,7 @@ class PageLoadInstantTestResponse(BaseModel): randomized_start_time: Optional[StrictBool] = Field(default=False, description="Indicates whether agents should randomize the start time in each test round.", alias="randomizedStartTime") identify_agent_traffic_with_user_agent: Optional[StrictBool] = Field(default=False, description="Determines how agent traffic is identified: * `false`: Adds the `x-thousandeyes-agent: yes` header. * `true`: Appends `(ThousandEyes Agent)` to the `user-agent` header. For more information, see [Notes on Agent ID Strategy](https://docs.thousandeyes.com/product-documentation/browser-synthetics/test-settings-page-load-transaction#notes-on-agent-id-strategy). ", alias="identifyAgentTrafficWithUserAgent") agents: Optional[List[AgentResponse]] = Field(default=None, description="Contains list of agents.") - __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "distributedTracing", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "emulatedDeviceId", "pageLoadTargetTime", "pageLoadTimeLimit", "blockDomains", "disableScreenshot", "allowMicAndCamera", "allowGeolocation", "browserLanguage", "chromeOptions", "chromePolicies", "pageLoadingStrategy", "randomizedStartTime", "identifyAgentTrafficWithUserAgent", "agents"] + __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "distributedTracing", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "vaultCredentials", "emulatedDeviceId", "pageLoadTargetTime", "pageLoadTimeLimit", "blockDomains", "disableScreenshot", "allowMicAndCamera", "allowGeolocation", "browserLanguage", "chromeOptions", "chromePolicies", "pageLoadingStrategy", "randomizedStartTime", "identifyAgentTrafficWithUserAgent", "agents"] model_config = ConfigDict( populate_by_name=True, @@ -192,6 +194,13 @@ class PageLoadInstantTestResponse(BaseModel): # override the default output from pydantic by calling `to_dict()` of o_auth if self.o_auth: _dict['oAuth'] = self.o_auth.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in vault_credentials (list) + _items = [] + if self.vault_credentials: + for _item in self.vault_credentials: + if _item: + _items.append(_item.to_dict()) + _dict['vaultCredentials'] = _items # override the default output from pydantic by calling `to_dict()` of each item in agents (list) _items = [] if self.agents: @@ -259,6 +268,7 @@ class PageLoadInstantTestResponse(BaseModel): "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, "overrideProxyId": obj.get("overrideProxyId"), "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False, + "vaultCredentials": [TestVaultCredential.from_dict(_item) for _item in obj["vaultCredentials"]] if obj.get("vaultCredentials") is not None else None, "emulatedDeviceId": obj.get("emulatedDeviceId"), "pageLoadTargetTime": obj.get("pageLoadTargetTime"), "pageLoadTimeLimit": obj.get("pageLoadTimeLimit") if obj.get("pageLoadTimeLimit") is not None else 10, diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/page_load_properties.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/page_load_properties.py index f65e4fd1..de6fcf39 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/page_load_properties.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/page_load_properties.py @@ -28,6 +28,7 @@ from thousandeyes_sdk.instant_tests.models.test_path_trace_mode import TestPathT from thousandeyes_sdk.instant_tests.models.test_probe_mode import TestProbeMode from thousandeyes_sdk.instant_tests.models.test_protocol import TestProtocol from thousandeyes_sdk.instant_tests.models.test_ssl_version_id import TestSslVersionId +from thousandeyes_sdk.instant_tests.models.test_vault_credential import TestVaultCredential from typing import Optional, Set from typing_extensions import Self @@ -70,6 +71,7 @@ class PageLoadProperties(BaseModel): override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") collect_proxy_network_data: Optional[StrictBool] = Field(default=False, description="Indicates whether network data to the proxy should be collected.", alias="collectProxyNetworkData") + vault_credentials: Optional[List[TestVaultCredential]] = Field(default=None, description="List of credential IDs that are stored in an external vault.", alias="vaultCredentials") emulated_device_id: Optional[StrictStr] = Field(default=None, description="ID of the emulated device, if one was given when the test was created.", alias="emulatedDeviceId") page_load_target_time: Optional[Annotated[int, Field(le=60, strict=True, ge=1)]] = Field(default=None, description="Target time for page load completion, specified in seconds and cannot exceed the `pageLoadTimeLimit`.", alias="pageLoadTargetTime") page_load_time_limit: Optional[Annotated[int, Field(le=60, strict=True, ge=5)]] = Field(default=10, description="Page load time limit. Must be larger than the `httpTimeLimit`.", alias="pageLoadTimeLimit") @@ -84,7 +86,7 @@ class PageLoadProperties(BaseModel): randomized_start_time: Optional[StrictBool] = Field(default=False, description="Indicates whether agents should randomize the start time in each test round.", alias="randomizedStartTime") type: Optional[StrictStr] = None identify_agent_traffic_with_user_agent: Optional[StrictBool] = Field(default=False, description="Determines how agent traffic is identified: * `false`: Adds the `x-thousandeyes-agent: yes` header. * `true`: Appends `(ThousandEyes Agent)` to the `user-agent` header. For more information, see [Notes on Agent ID Strategy](https://docs.thousandeyes.com/product-documentation/browser-synthetics/test-settings-page-load-transaction#notes-on-agent-id-strategy). ", alias="identifyAgentTrafficWithUserAgent") - __properties: ClassVar[List[str]] = ["authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "distributedTracing", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "emulatedDeviceId", "pageLoadTargetTime", "pageLoadTimeLimit", "blockDomains", "disableScreenshot", "allowMicAndCamera", "allowGeolocation", "browserLanguage", "chromeOptions", "chromePolicies", "pageLoadingStrategy", "randomizedStartTime", "type", "identifyAgentTrafficWithUserAgent"] + __properties: ClassVar[List[str]] = ["authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "distributedTracing", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "vaultCredentials", "emulatedDeviceId", "pageLoadTargetTime", "pageLoadTimeLimit", "blockDomains", "disableScreenshot", "allowMicAndCamera", "allowGeolocation", "browserLanguage", "chromeOptions", "chromePolicies", "pageLoadingStrategy", "randomizedStartTime", "type", "identifyAgentTrafficWithUserAgent"] model_config = ConfigDict( populate_by_name=True, @@ -139,6 +141,13 @@ class PageLoadProperties(BaseModel): # override the default output from pydantic by calling `to_dict()` of o_auth if self.o_auth: _dict['oAuth'] = self.o_auth.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in vault_credentials (list) + _items = [] + if self.vault_credentials: + for _item in self.vault_credentials: + if _item: + _items.append(_item.to_dict()) + _dict['vaultCredentials'] = _items return _dict @classmethod @@ -186,6 +195,7 @@ class PageLoadProperties(BaseModel): "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, "overrideProxyId": obj.get("overrideProxyId"), "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False, + "vaultCredentials": [TestVaultCredential.from_dict(_item) for _item in obj["vaultCredentials"]] if obj.get("vaultCredentials") is not None else None, "emulatedDeviceId": obj.get("emulatedDeviceId"), "pageLoadTargetTime": obj.get("pageLoadTargetTime"), "pageLoadTimeLimit": obj.get("pageLoadTimeLimit") if obj.get("pageLoadTimeLimit") is not None else 10, diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/simple_agent.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/simple_agent.py index 8a010b58..b51f8129 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/simple_agent.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/simple_agent.py @@ -19,6 +19,7 @@ import json from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr from typing import Any, ClassVar, Dict, List, Optional from thousandeyes_sdk.instant_tests.models.coordinates import Coordinates +from thousandeyes_sdk.instant_tests.models.network_provider_info import NetworkProviderInfo from typing import Optional, Set from typing_extensions import Self @@ -34,10 +35,11 @@ class SimpleAgent(BaseModel): location: Optional[StrictStr] = Field(default=None, description="Location of the agent.") country_id: Optional[StrictStr] = Field(default=None, description="2-digit ISO country code", alias="countryId") coordinates: Optional[Coordinates] = None + network_provider_info: Optional[NetworkProviderInfo] = Field(default=None, alias="networkProviderInfo") enabled: Optional[StrictBool] = Field(default=None, description="Flag indicating if the agent is enabled.") - prefix: Optional[StrictStr] = Field(default=None, description="Prefix containing agents public IP address.") verify_ssl_certificates: Optional[StrictBool] = Field(default=None, description="Flag indicating if has normal SSL operations or if instead it's set to ignore SSL errors on browserbot-based tests.", alias="verifySslCertificates") - __properties: ClassVar[List[str]] = ["ipAddresses", "publicIpAddresses", "network", "agentId", "agentName", "location", "countryId", "coordinates", "enabled", "prefix", "verifySslCertificates"] + prefix: Optional[StrictStr] = Field(default=None, description="Prefix containing agents public IP address.") + __properties: ClassVar[List[str]] = ["ipAddresses", "publicIpAddresses", "network", "agentId", "agentName", "location", "countryId", "coordinates", "networkProviderInfo", "enabled", "verifySslCertificates", "prefix"] model_config = ConfigDict( populate_by_name=True, @@ -78,6 +80,7 @@ class SimpleAgent(BaseModel): * OpenAPI `readOnly` fields are excluded. * OpenAPI `readOnly` fields are excluded. * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. """ excluded_fields: Set[str] = set([ "ip_addresses", @@ -86,8 +89,9 @@ class SimpleAgent(BaseModel): "agent_id", "location", "country_id", - "prefix", + "network_provider_info", "verify_ssl_certificates", + "prefix", ]) _dict = self.model_dump( @@ -98,6 +102,9 @@ class SimpleAgent(BaseModel): # override the default output from pydantic by calling `to_dict()` of coordinates if self.coordinates: _dict['coordinates'] = self.coordinates.to_dict() + # override the default output from pydantic by calling `to_dict()` of network_provider_info + if self.network_provider_info: + _dict['networkProviderInfo'] = self.network_provider_info.to_dict() return _dict @classmethod @@ -118,9 +125,10 @@ class SimpleAgent(BaseModel): "location": obj.get("location"), "countryId": obj.get("countryId"), "coordinates": Coordinates.from_dict(obj["coordinates"]) if obj.get("coordinates") is not None else None, + "networkProviderInfo": NetworkProviderInfo.from_dict(obj["networkProviderInfo"]) if obj.get("networkProviderInfo") is not None else None, "enabled": obj.get("enabled"), - "prefix": obj.get("prefix"), - "verifySslCertificates": obj.get("verifySslCertificates") + "verifySslCertificates": obj.get("verifySslCertificates"), + "prefix": obj.get("prefix") }) return _obj diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/sip_server_instant_test_request.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/sip_server_instant_test_request.py index ee324ef4..9e0c54d1 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/sip_server_instant_test_request.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/sip_server_instant_test_request.py @@ -44,8 +44,6 @@ class SipServerInstantTestRequest(BaseModel): test_name: Optional[StrictStr] = Field(default=None, description="The name of the test. Test name must be unique.", alias="testName") type: Optional[StrictStr] = None links: Optional[TestLinks] = Field(default=None, alias="_links") - labels: Optional[List[StrictStr]] = Field(default=None, description="A list of test label identifiers (get `labelId` from `/labels` endpoint).") - shared_with_accounts: Optional[List[StrictStr]] = Field(default=None, description="A list of account group identifiers that the test is shared with (get `aid` from `/account-groups` endpoint).", alias="sharedWithAccounts") mtu_measurements: Optional[StrictBool] = Field(default=None, description="Set `true` to measure MTU sizes on network from agents to the target.", alias="mtuMeasurements") network_measurements: Optional[StrictBool] = Field(default=True, description="Enable or disable network measurements. Set to true to enable or false to disable network measurements.", alias="networkMeasurements") num_path_traces: Optional[Annotated[int, Field(le=10, strict=True, ge=1)]] = Field(default=3, description="Number of path traces executed by the agent.", alias="numPathTraces") @@ -58,10 +56,12 @@ class SipServerInstantTestRequest(BaseModel): sip_time_limit: Optional[Annotated[int, Field(le=10, strict=True, ge=5)]] = Field(default=5, description="Time limit in milliseconds.", alias="sipTimeLimit") fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") ipv6_policy: Optional[TestIpv6Policy] = Field(default=None, alias="ipv6Policy") + labels: Optional[List[StrictStr]] = Field(default=None, description="A list of test label identifiers (get `labelId` from `/labels` endpoint).") tags: Optional[List[StrictStr]] = Field(default=None, description="A list of test tag identifiers (get `id` from `/tags` endpoint).") + shared_with_accounts: Optional[List[StrictStr]] = Field(default=None, description="A list of account group identifiers that the test is shared with (get `aid` from `/account-groups` endpoint).", alias="sharedWithAccounts") agents: List[TestAgent] = Field(description="A list of objects with `agentId` (required) and `sourceIpAddress` (optional).") target_sip_credentials: TestSipCredentials = Field(alias="targetSipCredentials") - __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "mtuMeasurements", "networkMeasurements", "numPathTraces", "optionsRegex", "pathTraceMode", "probeMode", "randomizedStartTime", "registerEnabled", "sipTargetTime", "sipTimeLimit", "fixedPacketRate", "ipv6Policy", "tags", "agents", "targetSipCredentials"] + __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "mtuMeasurements", "networkMeasurements", "numPathTraces", "optionsRegex", "pathTraceMode", "probeMode", "randomizedStartTime", "registerEnabled", "sipTargetTime", "sipTimeLimit", "fixedPacketRate", "ipv6Policy", "labels", "tags", "sharedWithAccounts", "agents", "targetSipCredentials"] model_config = ConfigDict( populate_by_name=True, @@ -155,8 +155,6 @@ class SipServerInstantTestRequest(BaseModel): "testName": obj.get("testName"), "type": obj.get("type"), "_links": TestLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, - "labels": obj.get("labels"), - "sharedWithAccounts": obj.get("sharedWithAccounts"), "mtuMeasurements": obj.get("mtuMeasurements"), "networkMeasurements": obj.get("networkMeasurements") if obj.get("networkMeasurements") is not None else True, "numPathTraces": obj.get("numPathTraces") if obj.get("numPathTraces") is not None else 3, @@ -169,7 +167,9 @@ class SipServerInstantTestRequest(BaseModel): "sipTimeLimit": obj.get("sipTimeLimit") if obj.get("sipTimeLimit") is not None else 5, "fixedPacketRate": obj.get("fixedPacketRate"), "ipv6Policy": obj.get("ipv6Policy"), + "labels": obj.get("labels"), "tags": obj.get("tags"), + "sharedWithAccounts": obj.get("sharedWithAccounts"), "agents": [TestAgent.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None, "targetSipCredentials": TestSipCredentials.from_dict(obj["targetSipCredentials"]) if obj.get("targetSipCredentials") is not None else None }) diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/dns_servers_request.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/test_vault_credential.py similarity index 79% rename from thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/dns_servers_request.py rename to thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/test_vault_credential.py index 19ed8df5..d69e6a10 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/dns_servers_request.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/test_vault_credential.py @@ -18,15 +18,17 @@ import json from pydantic import BaseModel, ConfigDict, Field, StrictStr from typing import Any, ClassVar, Dict, List, Optional +from thousandeyes_sdk.instant_tests.models.test_vault_credential_target import TestVaultCredentialTarget from typing import Optional, Set from typing_extensions import Self -class DnsServersRequest(BaseModel): +class TestVaultCredential(BaseModel): """ - DnsServersRequest + TestVaultCredential """ # noqa: E501 - dns_servers: Optional[List[StrictStr]] = Field(default=None, description="A list of DNS server FQDN.", alias="dnsServers") - __properties: ClassVar[List[str]] = ["dnsServers"] + secret_id: Optional[StrictStr] = Field(default=None, description="UUID of the configured secret.", alias="secretId") + target: Optional[TestVaultCredentialTarget] = None + __properties: ClassVar[List[str]] = ["secretId", "target"] model_config = ConfigDict( populate_by_name=True, @@ -47,7 +49,7 @@ class DnsServersRequest(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of DnsServersRequest from a JSON string""" + """Create an instance of TestVaultCredential from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -72,7 +74,7 @@ class DnsServersRequest(BaseModel): @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of DnsServersRequest from a dict""" + """Create an instance of TestVaultCredential from a dict""" if obj is None: return None @@ -80,7 +82,8 @@ class DnsServersRequest(BaseModel): return cls.model_validate(obj) _obj = cls.model_validate({ - "dnsServers": obj.get("dnsServers") + "secretId": obj.get("secretId"), + "target": obj.get("target") }) return _obj diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/test_vault_credential_target.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/test_vault_credential_target.py new file mode 100644 index 00000000..01cb28eb --- /dev/null +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/test_vault_credential_target.py @@ -0,0 +1,42 @@ +# coding: utf-8 + +""" + Instant Tests API + + The Instant Tests API operations lets you create and run new instant tests. You will need to be an Account Admin. The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class TestVaultCredentialTarget(str, Enum): + """ + The target setting that the credential should be used for. + """ + + """ + allowed enum values + """ + USERNAME = 'username' + PASSWORD = 'password' + SCRIPT = 'script' + UNKNOWN = 'unknown' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of TestVaultCredentialTarget from a JSON string""" + return cls(json.loads(json_str)) + + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN + diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/voice_instant_test.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/voice_instant_test.py index d4afb87b..a278f963 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/voice_instant_test.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/voice_instant_test.py @@ -45,7 +45,7 @@ class VoiceInstantTest(BaseModel): labels: Optional[List[TestLabel]] = Field(default=None, description="Labels to which the test is assigned. This field is not returned for Instant Tests.") shared_with_accounts: Optional[List[SharedWithAccount]] = Field(default=None, alias="sharedWithAccounts") codec: Optional[StrictStr] = Field(default=None, description="Codec label") - codec_id: Optional[StrictStr] = Field(default=None, description="Coded ID, [see the list of acceptable values](https://docs.thousandeyes.com/product-documentation/internet-and-wan-monitoring/tests/working-with-test-settings#rtp-stream-advanced-settings-tab)", alias="codecId") + codec_id: Optional[StrictStr] = Field(default=None, description="Codec identifier for the RTP stream. Valid values: * `0`: G.711 @ 64 Kbps * `1`: G.722.1 @ 24 Kbps (WB) * `2`: G.722.1 @ 32 Kbps (WB) * `3`: G.726 @ 32 Kbps * `4`: G.723.1 @ 6.4 Kbps * `5`: G.729a @ 8 Kbps * `6`: RTAudio @ 45 Kbps (WB) * `7`: RTAudio @ 27.8 Kbps * `8`: SILK @ 36 Kbps (WB) * `9`: G.722 @ 64 Kbps (WB) ", alias="codecId") dscp: Optional[StrictStr] = Field(default=None, description="DSCP label.") dscp_id: Optional[TestDscpId] = Field(default=None, alias="dscpId") duration: Optional[Annotated[int, Field(le=30, strict=True, ge=5)]] = Field(default=5, description="Duration of the test in seconds.") diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/voice_instant_test_request.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/voice_instant_test_request.py index faf941b0..4e991960 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/voice_instant_test_request.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/voice_instant_test_request.py @@ -41,10 +41,8 @@ class VoiceInstantTestRequest(BaseModel): test_name: Optional[StrictStr] = Field(default=None, description="The name of the test. Test name must be unique.", alias="testName") type: Optional[StrictStr] = None links: Optional[TestLinks] = Field(default=None, alias="_links") - labels: Optional[List[StrictStr]] = Field(default=None, description="A list of test label identifiers (get `labelId` from `/labels` endpoint).") - shared_with_accounts: Optional[List[StrictStr]] = Field(default=None, description="A list of account group identifiers that the test is shared with (get `aid` from `/account-groups` endpoint).", alias="sharedWithAccounts") codec: Optional[StrictStr] = Field(default=None, description="Codec label") - codec_id: Optional[StrictStr] = Field(default=None, description="Coded ID, [see the list of acceptable values](https://docs.thousandeyes.com/product-documentation/internet-and-wan-monitoring/tests/working-with-test-settings#rtp-stream-advanced-settings-tab)", alias="codecId") + codec_id: Optional[StrictStr] = Field(default=None, description="Codec identifier for the RTP stream. Valid values: * `0`: G.711 @ 64 Kbps * `1`: G.722.1 @ 24 Kbps (WB) * `2`: G.722.1 @ 32 Kbps (WB) * `3`: G.726 @ 32 Kbps * `4`: G.723.1 @ 6.4 Kbps * `5`: G.729a @ 8 Kbps * `6`: RTAudio @ 45 Kbps (WB) * `7`: RTAudio @ 27.8 Kbps * `8`: SILK @ 36 Kbps (WB) * `9`: G.722 @ 64 Kbps (WB) ", alias="codecId") dscp: Optional[StrictStr] = Field(default=None, description="DSCP label.") dscp_id: Optional[TestDscpId] = Field(default=None, alias="dscpId") duration: Optional[Annotated[int, Field(le=30, strict=True, ge=5)]] = Field(default=5, description="Duration of the test in seconds.") @@ -53,9 +51,11 @@ class VoiceInstantTestRequest(BaseModel): port: Optional[Annotated[int, Field(le=65535, strict=True, ge=1024)]] = Field(default=None, description="Port number for the chosen protocol.") randomized_start_time: Optional[StrictBool] = Field(default=False, description="Indicates whether agents should randomize the start time in each test round.", alias="randomizedStartTime") target_agent_id: StrictStr = Field(description="Agent ID of the target agent for the test.", alias="targetAgentId") + labels: Optional[List[StrictStr]] = Field(default=None, description="A list of test label identifiers (get `labelId` from `/labels` endpoint).") tags: Optional[List[StrictStr]] = Field(default=None, description="A list of test tag identifiers (get `id` from `/tags` endpoint).") + shared_with_accounts: Optional[List[StrictStr]] = Field(default=None, description="A list of account group identifiers that the test is shared with (get `aid` from `/account-groups` endpoint).", alias="sharedWithAccounts") agents: List[TestAgent] = Field(description="A list of objects with `agentId` (required) and `sourceIpAddress` (optional).") - __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "codec", "codecId", "dscp", "dscpId", "duration", "jitterBuffer", "numPathTraces", "port", "randomizedStartTime", "targetAgentId", "tags", "agents"] + __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "codec", "codecId", "dscp", "dscpId", "duration", "jitterBuffer", "numPathTraces", "port", "randomizedStartTime", "targetAgentId", "labels", "tags", "sharedWithAccounts", "agents"] model_config = ConfigDict( populate_by_name=True, @@ -150,8 +150,6 @@ class VoiceInstantTestRequest(BaseModel): "testName": obj.get("testName"), "type": obj.get("type"), "_links": TestLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, - "labels": obj.get("labels"), - "sharedWithAccounts": obj.get("sharedWithAccounts"), "codec": obj.get("codec"), "codecId": obj.get("codecId"), "dscp": obj.get("dscp"), @@ -162,7 +160,9 @@ class VoiceInstantTestRequest(BaseModel): "port": obj.get("port"), "randomizedStartTime": obj.get("randomizedStartTime") if obj.get("randomizedStartTime") is not None else False, "targetAgentId": obj.get("targetAgentId"), + "labels": obj.get("labels"), "tags": obj.get("tags"), + "sharedWithAccounts": obj.get("sharedWithAccounts"), "agents": [TestAgent.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None }) return _obj diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/voice_instant_test_response.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/voice_instant_test_response.py index 3c1b6f88..5d60a35f 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/voice_instant_test_response.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/voice_instant_test_response.py @@ -46,7 +46,7 @@ class VoiceInstantTestResponse(BaseModel): labels: Optional[List[TestLabel]] = Field(default=None, description="Labels to which the test is assigned. This field is not returned for Instant Tests.") shared_with_accounts: Optional[List[SharedWithAccount]] = Field(default=None, alias="sharedWithAccounts") codec: Optional[StrictStr] = Field(default=None, description="Codec label") - codec_id: Optional[StrictStr] = Field(default=None, description="Coded ID, [see the list of acceptable values](https://docs.thousandeyes.com/product-documentation/internet-and-wan-monitoring/tests/working-with-test-settings#rtp-stream-advanced-settings-tab)", alias="codecId") + codec_id: Optional[StrictStr] = Field(default=None, description="Codec identifier for the RTP stream. Valid values: * `0`: G.711 @ 64 Kbps * `1`: G.722.1 @ 24 Kbps (WB) * `2`: G.722.1 @ 32 Kbps (WB) * `3`: G.726 @ 32 Kbps * `4`: G.723.1 @ 6.4 Kbps * `5`: G.729a @ 8 Kbps * `6`: RTAudio @ 45 Kbps (WB) * `7`: RTAudio @ 27.8 Kbps * `8`: SILK @ 36 Kbps (WB) * `9`: G.722 @ 64 Kbps (WB) ", alias="codecId") dscp: Optional[StrictStr] = Field(default=None, description="DSCP label.") dscp_id: Optional[TestDscpId] = Field(default=None, alias="dscpId") duration: Optional[Annotated[int, Field(le=30, strict=True, ge=5)]] = Field(default=5, description="Duration of the test in seconds.") diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/voice_properties.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/voice_properties.py index 2a4e01d3..01a2345b 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/voice_properties.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/voice_properties.py @@ -28,7 +28,7 @@ class VoiceProperties(BaseModel): VoiceProperties """ # noqa: E501 codec: Optional[StrictStr] = Field(default=None, description="Codec label") - codec_id: Optional[StrictStr] = Field(default=None, description="Coded ID, [see the list of acceptable values](https://docs.thousandeyes.com/product-documentation/internet-and-wan-monitoring/tests/working-with-test-settings#rtp-stream-advanced-settings-tab)", alias="codecId") + codec_id: Optional[StrictStr] = Field(default=None, description="Codec identifier for the RTP stream. Valid values: * `0`: G.711 @ 64 Kbps * `1`: G.722.1 @ 24 Kbps (WB) * `2`: G.722.1 @ 32 Kbps (WB) * `3`: G.726 @ 32 Kbps * `4`: G.723.1 @ 6.4 Kbps * `5`: G.729a @ 8 Kbps * `6`: RTAudio @ 45 Kbps (WB) * `7`: RTAudio @ 27.8 Kbps * `8`: SILK @ 36 Kbps (WB) * `9`: G.722 @ 64 Kbps (WB) ", alias="codecId") dscp: Optional[StrictStr] = Field(default=None, description="DSCP label.") dscp_id: Optional[TestDscpId] = Field(default=None, alias="dscpId") duration: Optional[Annotated[int, Field(le=30, strict=True, ge=5)]] = Field(default=5, description="Duration of the test in seconds.") diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/web_transaction_instant_test.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/web_transaction_instant_test.py index bf1e745a..96981475 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/web_transaction_instant_test.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/web_transaction_instant_test.py @@ -32,6 +32,7 @@ from thousandeyes_sdk.instant_tests.models.test_path_trace_mode import TestPathT from thousandeyes_sdk.instant_tests.models.test_probe_mode import TestProbeMode from thousandeyes_sdk.instant_tests.models.test_protocol import TestProtocol from thousandeyes_sdk.instant_tests.models.test_ssl_version_id import TestSslVersionId +from thousandeyes_sdk.instant_tests.models.test_vault_credential import TestVaultCredential from typing import Optional, Set from typing_extensions import Self @@ -87,6 +88,7 @@ class WebTransactionInstantTest(BaseModel): override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") collect_proxy_network_data: Optional[StrictBool] = Field(default=False, description="Indicates whether network data to the proxy should be collected.", alias="collectProxyNetworkData") + vault_credentials: Optional[List[TestVaultCredential]] = Field(default=None, description="List of credential IDs that are stored in an external vault.", alias="vaultCredentials") emulated_device_id: Optional[StrictStr] = Field(default=None, description="ID of the emulated device, if specified when the test was created.", alias="emulatedDeviceId") target_time: Optional[Annotated[int, Field(le=180, strict=True, ge=1)]] = Field(default=10, description="Target completion time, in seconds. Defaults to 10. Cannot exceed the `timeLimit` value.", alias="targetTime") time_limit: Optional[Annotated[int, Field(le=180, strict=True, ge=5)]] = Field(default=30, description="Time limit for transaction in seconds.", alias="timeLimit") @@ -102,7 +104,7 @@ class WebTransactionInstantTest(BaseModel): randomized_start_time: Optional[StrictBool] = Field(default=False, description="Indicates whether agents should randomize the start time in each test round.", alias="randomizedStartTime") identify_agent_traffic_with_user_agent: Optional[StrictBool] = Field(default=False, description="Determines how agent traffic is identified: * `false`: Adds the `x-thousandeyes-agent: yes` header. * `true`: Appends `(ThousandEyes Agent)` to the `user-agent` header. For more information, see [Notes on Agent ID Strategy](https://docs.thousandeyes.com/product-documentation/browser-synthetics/test-settings-page-load-transaction#notes-on-agent-id-strategy). ", alias="identifyAgentTrafficWithUserAgent") credentials: Optional[List[StrictStr]] = Field(default=None, description="Contains a list of credential IDs (get `credentialId` from `/credentials` endpoint).") - __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "distributedTracing", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "emulatedDeviceId", "targetTime", "timeLimit", "transactionScript", "blockDomains", "disableScreenshot", "allowMicAndCamera", "allowGeolocation", "browserLanguage", "chromeOptions", "chromePolicies", "pageLoadingStrategy", "randomizedStartTime", "identifyAgentTrafficWithUserAgent", "credentials"] + __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "distributedTracing", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "vaultCredentials", "emulatedDeviceId", "targetTime", "timeLimit", "transactionScript", "blockDomains", "disableScreenshot", "allowMicAndCamera", "allowGeolocation", "browserLanguage", "chromeOptions", "chromePolicies", "pageLoadingStrategy", "randomizedStartTime", "identifyAgentTrafficWithUserAgent", "credentials"] model_config = ConfigDict( populate_by_name=True, @@ -192,6 +194,13 @@ class WebTransactionInstantTest(BaseModel): # override the default output from pydantic by calling `to_dict()` of o_auth if self.o_auth: _dict['oAuth'] = self.o_auth.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in vault_credentials (list) + _items = [] + if self.vault_credentials: + for _item in self.vault_credentials: + if _item: + _items.append(_item.to_dict()) + _dict['vaultCredentials'] = _items return _dict @classmethod @@ -252,6 +261,7 @@ class WebTransactionInstantTest(BaseModel): "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, "overrideProxyId": obj.get("overrideProxyId"), "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False, + "vaultCredentials": [TestVaultCredential.from_dict(_item) for _item in obj["vaultCredentials"]] if obj.get("vaultCredentials") is not None else None, "emulatedDeviceId": obj.get("emulatedDeviceId"), "targetTime": obj.get("targetTime") if obj.get("targetTime") is not None else 10, "timeLimit": obj.get("timeLimit") if obj.get("timeLimit") is not None else 30, diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/web_transaction_instant_test_request.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/web_transaction_instant_test_request.py index 254211b4..6d201c13 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/web_transaction_instant_test_request.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/web_transaction_instant_test_request.py @@ -31,6 +31,7 @@ from thousandeyes_sdk.instant_tests.models.test_path_trace_mode import TestPathT from thousandeyes_sdk.instant_tests.models.test_probe_mode import TestProbeMode from thousandeyes_sdk.instant_tests.models.test_protocol import TestProtocol from thousandeyes_sdk.instant_tests.models.test_ssl_version_id import TestSslVersionId +from thousandeyes_sdk.instant_tests.models.test_vault_credential import TestVaultCredential from typing import Optional, Set from typing_extensions import Self @@ -49,8 +50,6 @@ class WebTransactionInstantTestRequest(BaseModel): test_name: Optional[StrictStr] = Field(default=None, description="The name of the test. Test name must be unique.", alias="testName") type: Optional[StrictStr] = None links: Optional[TestLinks] = Field(default=None, alias="_links") - labels: Optional[List[StrictStr]] = Field(default=None, description="A list of test label identifiers (get `labelId` from `/labels` endpoint).") - shared_with_accounts: Optional[List[StrictStr]] = Field(default=None, description="A list of account group identifiers that the test is shared with (get `aid` from `/account-groups` endpoint).", alias="sharedWithAccounts") auth_type: Optional[TestAuthType] = Field(default=None, alias="authType") agent_interfaces: Optional[AgentInterfaces] = Field(default=None, alias="agentInterfaces") bandwidth_measurements: Optional[StrictBool] = Field(default=None, description="Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test.", alias="bandwidthMeasurements") @@ -86,6 +85,7 @@ class WebTransactionInstantTestRequest(BaseModel): override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") collect_proxy_network_data: Optional[StrictBool] = Field(default=False, description="Indicates whether network data to the proxy should be collected.", alias="collectProxyNetworkData") + vault_credentials: Optional[List[TestVaultCredential]] = Field(default=None, description="List of credential IDs that are stored in an external vault.", alias="vaultCredentials") emulated_device_id: Optional[StrictStr] = Field(default=None, description="ID of the emulated device, if specified when the test was created.", alias="emulatedDeviceId") target_time: Optional[Annotated[int, Field(le=180, strict=True, ge=1)]] = Field(default=10, description="Target completion time, in seconds. Defaults to 10. Cannot exceed the `timeLimit` value.", alias="targetTime") time_limit: Optional[Annotated[int, Field(le=180, strict=True, ge=5)]] = Field(default=30, description="Time limit for transaction in seconds.", alias="timeLimit") @@ -100,10 +100,12 @@ class WebTransactionInstantTestRequest(BaseModel): page_loading_strategy: Optional[TestPageLoadingStrategy] = Field(default=None, alias="pageLoadingStrategy") randomized_start_time: Optional[StrictBool] = Field(default=False, description="Indicates whether agents should randomize the start time in each test round.", alias="randomizedStartTime") identify_agent_traffic_with_user_agent: Optional[StrictBool] = Field(default=False, description="Determines how agent traffic is identified: * `false`: Adds the `x-thousandeyes-agent: yes` header. * `true`: Appends `(ThousandEyes Agent)` to the `user-agent` header. For more information, see [Notes on Agent ID Strategy](https://docs.thousandeyes.com/product-documentation/browser-synthetics/test-settings-page-load-transaction#notes-on-agent-id-strategy). ", alias="identifyAgentTrafficWithUserAgent") - credentials: Optional[List[StrictStr]] = Field(default=None, description="Contains a list of credential IDs (get `credentialId` from `/credentials` endpoint).") + labels: Optional[List[StrictStr]] = Field(default=None, description="A list of test label identifiers (get `labelId` from `/labels` endpoint).") tags: Optional[List[StrictStr]] = Field(default=None, description="A list of test tag identifiers (get `id` from `/tags` endpoint).") + shared_with_accounts: Optional[List[StrictStr]] = Field(default=None, description="A list of account group identifiers that the test is shared with (get `aid` from `/account-groups` endpoint).", alias="sharedWithAccounts") agents: List[TestAgent] = Field(description="A list of objects with `agentId` (required) and `sourceIpAddress` (optional).") - __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "distributedTracing", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "emulatedDeviceId", "targetTime", "timeLimit", "transactionScript", "blockDomains", "disableScreenshot", "allowMicAndCamera", "allowGeolocation", "browserLanguage", "chromeOptions", "chromePolicies", "pageLoadingStrategy", "randomizedStartTime", "identifyAgentTrafficWithUserAgent", "credentials", "tags", "agents"] + credentials: Optional[List[StrictStr]] = Field(default=None, description="Contains a list of credential IDs (get `credentialId` from `/credentials` endpoint).") + __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "distributedTracing", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "vaultCredentials", "emulatedDeviceId", "targetTime", "timeLimit", "transactionScript", "blockDomains", "disableScreenshot", "allowMicAndCamera", "allowGeolocation", "browserLanguage", "chromeOptions", "chromePolicies", "pageLoadingStrategy", "randomizedStartTime", "identifyAgentTrafficWithUserAgent", "labels", "tags", "sharedWithAccounts", "agents", "credentials"] model_config = ConfigDict( populate_by_name=True, @@ -175,6 +177,13 @@ class WebTransactionInstantTestRequest(BaseModel): # override the default output from pydantic by calling `to_dict()` of o_auth if self.o_auth: _dict['oAuth'] = self.o_auth.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in vault_credentials (list) + _items = [] + if self.vault_credentials: + for _item in self.vault_credentials: + if _item: + _items.append(_item.to_dict()) + _dict['vaultCredentials'] = _items # override the default output from pydantic by calling `to_dict()` of each item in agents (list) _items = [] if self.agents: @@ -205,8 +214,6 @@ class WebTransactionInstantTestRequest(BaseModel): "testName": obj.get("testName"), "type": obj.get("type"), "_links": TestLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, - "labels": obj.get("labels"), - "sharedWithAccounts": obj.get("sharedWithAccounts"), "authType": obj.get("authType"), "agentInterfaces": AgentInterfaces.from_dict(obj["agentInterfaces"]) if obj.get("agentInterfaces") is not None else None, "bandwidthMeasurements": obj.get("bandwidthMeasurements"), @@ -242,6 +249,7 @@ class WebTransactionInstantTestRequest(BaseModel): "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, "overrideProxyId": obj.get("overrideProxyId"), "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False, + "vaultCredentials": [TestVaultCredential.from_dict(_item) for _item in obj["vaultCredentials"]] if obj.get("vaultCredentials") is not None else None, "emulatedDeviceId": obj.get("emulatedDeviceId"), "targetTime": obj.get("targetTime") if obj.get("targetTime") is not None else 10, "timeLimit": obj.get("timeLimit") if obj.get("timeLimit") is not None else 30, @@ -256,9 +264,11 @@ class WebTransactionInstantTestRequest(BaseModel): "pageLoadingStrategy": obj.get("pageLoadingStrategy"), "randomizedStartTime": obj.get("randomizedStartTime") if obj.get("randomizedStartTime") is not None else False, "identifyAgentTrafficWithUserAgent": obj.get("identifyAgentTrafficWithUserAgent") if obj.get("identifyAgentTrafficWithUserAgent") is not None else False, - "credentials": obj.get("credentials"), + "labels": obj.get("labels"), "tags": obj.get("tags"), - "agents": [TestAgent.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None + "sharedWithAccounts": obj.get("sharedWithAccounts"), + "agents": [TestAgent.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None, + "credentials": obj.get("credentials") }) return _obj diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/web_transaction_instant_test_response.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/web_transaction_instant_test_response.py index d69dc66f..9e600954 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/web_transaction_instant_test_response.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/web_transaction_instant_test_response.py @@ -33,6 +33,7 @@ from thousandeyes_sdk.instant_tests.models.test_path_trace_mode import TestPathT from thousandeyes_sdk.instant_tests.models.test_probe_mode import TestProbeMode from thousandeyes_sdk.instant_tests.models.test_protocol import TestProtocol from thousandeyes_sdk.instant_tests.models.test_ssl_version_id import TestSslVersionId +from thousandeyes_sdk.instant_tests.models.test_vault_credential import TestVaultCredential from typing import Optional, Set from typing_extensions import Self @@ -88,6 +89,7 @@ class WebTransactionInstantTestResponse(BaseModel): override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") collect_proxy_network_data: Optional[StrictBool] = Field(default=False, description="Indicates whether network data to the proxy should be collected.", alias="collectProxyNetworkData") + vault_credentials: Optional[List[TestVaultCredential]] = Field(default=None, description="List of credential IDs that are stored in an external vault.", alias="vaultCredentials") emulated_device_id: Optional[StrictStr] = Field(default=None, description="ID of the emulated device, if specified when the test was created.", alias="emulatedDeviceId") target_time: Optional[Annotated[int, Field(le=180, strict=True, ge=1)]] = Field(default=10, description="Target completion time, in seconds. Defaults to 10. Cannot exceed the `timeLimit` value.", alias="targetTime") time_limit: Optional[Annotated[int, Field(le=180, strict=True, ge=5)]] = Field(default=30, description="Time limit for transaction in seconds.", alias="timeLimit") @@ -104,7 +106,7 @@ class WebTransactionInstantTestResponse(BaseModel): identify_agent_traffic_with_user_agent: Optional[StrictBool] = Field(default=False, description="Determines how agent traffic is identified: * `false`: Adds the `x-thousandeyes-agent: yes` header. * `true`: Appends `(ThousandEyes Agent)` to the `user-agent` header. For more information, see [Notes on Agent ID Strategy](https://docs.thousandeyes.com/product-documentation/browser-synthetics/test-settings-page-load-transaction#notes-on-agent-id-strategy). ", alias="identifyAgentTrafficWithUserAgent") credentials: Optional[List[StrictStr]] = Field(default=None, description="Contains a list of credential IDs (get `credentialId` from `/credentials` endpoint).") agents: Optional[List[AgentResponse]] = Field(default=None, description="Contains list of agents.") - __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "distributedTracing", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "emulatedDeviceId", "targetTime", "timeLimit", "transactionScript", "blockDomains", "disableScreenshot", "allowMicAndCamera", "allowGeolocation", "browserLanguage", "chromeOptions", "chromePolicies", "pageLoadingStrategy", "randomizedStartTime", "identifyAgentTrafficWithUserAgent", "credentials", "agents"] + __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "distributedTracing", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "vaultCredentials", "emulatedDeviceId", "targetTime", "timeLimit", "transactionScript", "blockDomains", "disableScreenshot", "allowMicAndCamera", "allowGeolocation", "browserLanguage", "chromeOptions", "chromePolicies", "pageLoadingStrategy", "randomizedStartTime", "identifyAgentTrafficWithUserAgent", "credentials", "agents"] model_config = ConfigDict( populate_by_name=True, @@ -194,6 +196,13 @@ class WebTransactionInstantTestResponse(BaseModel): # override the default output from pydantic by calling `to_dict()` of o_auth if self.o_auth: _dict['oAuth'] = self.o_auth.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in vault_credentials (list) + _items = [] + if self.vault_credentials: + for _item in self.vault_credentials: + if _item: + _items.append(_item.to_dict()) + _dict['vaultCredentials'] = _items # override the default output from pydantic by calling `to_dict()` of each item in agents (list) _items = [] if self.agents: @@ -261,6 +270,7 @@ class WebTransactionInstantTestResponse(BaseModel): "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, "overrideProxyId": obj.get("overrideProxyId"), "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False, + "vaultCredentials": [TestVaultCredential.from_dict(_item) for _item in obj["vaultCredentials"]] if obj.get("vaultCredentials") is not None else None, "emulatedDeviceId": obj.get("emulatedDeviceId"), "targetTime": obj.get("targetTime") if obj.get("targetTime") is not None else 10, "timeLimit": obj.get("timeLimit") if obj.get("timeLimit") is not None else 30, diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/web_transaction_properties.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/web_transaction_properties.py index a69a6a29..b1202b74 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/web_transaction_properties.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/web_transaction_properties.py @@ -28,6 +28,7 @@ from thousandeyes_sdk.instant_tests.models.test_path_trace_mode import TestPathT from thousandeyes_sdk.instant_tests.models.test_probe_mode import TestProbeMode from thousandeyes_sdk.instant_tests.models.test_protocol import TestProtocol from thousandeyes_sdk.instant_tests.models.test_ssl_version_id import TestSslVersionId +from thousandeyes_sdk.instant_tests.models.test_vault_credential import TestVaultCredential from typing import Optional, Set from typing_extensions import Self @@ -70,6 +71,7 @@ class WebTransactionProperties(BaseModel): override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") collect_proxy_network_data: Optional[StrictBool] = Field(default=False, description="Indicates whether network data to the proxy should be collected.", alias="collectProxyNetworkData") + vault_credentials: Optional[List[TestVaultCredential]] = Field(default=None, description="List of credential IDs that are stored in an external vault.", alias="vaultCredentials") emulated_device_id: Optional[StrictStr] = Field(default=None, description="ID of the emulated device, if specified when the test was created.", alias="emulatedDeviceId") target_time: Optional[Annotated[int, Field(le=180, strict=True, ge=1)]] = Field(default=10, description="Target completion time, in seconds. Defaults to 10. Cannot exceed the `timeLimit` value.", alias="targetTime") time_limit: Optional[Annotated[int, Field(le=180, strict=True, ge=5)]] = Field(default=30, description="Time limit for transaction in seconds.", alias="timeLimit") @@ -85,7 +87,7 @@ class WebTransactionProperties(BaseModel): randomized_start_time: Optional[StrictBool] = Field(default=False, description="Indicates whether agents should randomize the start time in each test round.", alias="randomizedStartTime") type: Optional[StrictStr] = None identify_agent_traffic_with_user_agent: Optional[StrictBool] = Field(default=False, description="Determines how agent traffic is identified: * `false`: Adds the `x-thousandeyes-agent: yes` header. * `true`: Appends `(ThousandEyes Agent)` to the `user-agent` header. For more information, see [Notes on Agent ID Strategy](https://docs.thousandeyes.com/product-documentation/browser-synthetics/test-settings-page-load-transaction#notes-on-agent-id-strategy). ", alias="identifyAgentTrafficWithUserAgent") - __properties: ClassVar[List[str]] = ["authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "distributedTracing", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "emulatedDeviceId", "targetTime", "timeLimit", "transactionScript", "blockDomains", "disableScreenshot", "allowMicAndCamera", "allowGeolocation", "browserLanguage", "chromeOptions", "chromePolicies", "pageLoadingStrategy", "randomizedStartTime", "type", "identifyAgentTrafficWithUserAgent"] + __properties: ClassVar[List[str]] = ["authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "distributedTracing", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "vaultCredentials", "emulatedDeviceId", "targetTime", "timeLimit", "transactionScript", "blockDomains", "disableScreenshot", "allowMicAndCamera", "allowGeolocation", "browserLanguage", "chromeOptions", "chromePolicies", "pageLoadingStrategy", "randomizedStartTime", "type", "identifyAgentTrafficWithUserAgent"] model_config = ConfigDict( populate_by_name=True, @@ -140,6 +142,13 @@ class WebTransactionProperties(BaseModel): # override the default output from pydantic by calling `to_dict()` of o_auth if self.o_auth: _dict['oAuth'] = self.o_auth.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in vault_credentials (list) + _items = [] + if self.vault_credentials: + for _item in self.vault_credentials: + if _item: + _items.append(_item.to_dict()) + _dict['vaultCredentials'] = _items return _dict @classmethod @@ -187,6 +196,7 @@ class WebTransactionProperties(BaseModel): "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, "overrideProxyId": obj.get("overrideProxyId"), "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False, + "vaultCredentials": [TestVaultCredential.from_dict(_item) for _item in obj["vaultCredentials"]] if obj.get("vaultCredentials") is not None else None, "emulatedDeviceId": obj.get("emulatedDeviceId"), "targetTime": obj.get("targetTime") if obj.get("targetTime") is not None else 10, "timeLimit": obj.get("timeLimit") if obj.get("timeLimit") is not None else 30, diff --git a/thousandeyes-sdk-instant-tests/test/test_agent_to_agent_instant_tests_api.py b/thousandeyes-sdk-instant-tests/test/test_agent_to_agent_instant_tests_api.py index dea3b8ec..3238ae60 100644 --- a/thousandeyes-sdk-instant-tests/test/test_agent_to_agent_instant_tests_api.py +++ b/thousandeyes-sdk-instant-tests/test/test_agent_to_agent_instant_tests_api.py @@ -138,34 +138,36 @@ class TestAgentToAgentInstantTestsApi(unittest.TestCase): "agents" : [ { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true }, { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true } ], "createdDate" : "2022-07-17T22:00:54Z", diff --git a/thousandeyes-sdk-instant-tests/test/test_agent_to_server_instant_tests_api.py b/thousandeyes-sdk-instant-tests/test/test_agent_to_server_instant_tests_api.py index e89e0fab..a39609f7 100644 --- a/thousandeyes-sdk-instant-tests/test/test_agent_to_server_instant_tests_api.py +++ b/thousandeyes-sdk-instant-tests/test/test_agent_to_server_instant_tests_api.py @@ -81,8 +81,8 @@ class TestAgentToServerInstantTestsApi(unittest.TestCase): "randomizedStartTime" : false, "modifiedDate" : "2022-07-17T22:00:54Z", "testId" : "281474976710706", - "sharedWithAccounts" : [ "1234", "12345" ], "pingPayloadSize" : 112, + "sharedWithAccounts" : [ "1234", "12345" ], "continuousMode" : false } """ @@ -140,34 +140,36 @@ class TestAgentToServerInstantTestsApi(unittest.TestCase): "agents" : [ { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true }, { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true } ], "createdDate" : "2022-07-17T22:00:54Z", diff --git a/thousandeyes-sdk-instant-tests/test/test_api_instant_tests_api.py b/thousandeyes-sdk-instant-tests/test/test_api_instant_tests_api.py index 5af8dcce..315f3488 100644 --- a/thousandeyes-sdk-instant-tests/test/test_api_instant_tests_api.py +++ b/thousandeyes-sdk-instant-tests/test/test_api_instant_tests_api.py @@ -136,6 +136,13 @@ class TestAPIInstantTestsApi(unittest.TestCase): "username" : "ThousandEyesUserName" } ], "type" : "api", + "vaultCredentials" : [ { + "secretId" : "f27e85b2-318b-4145-b5aa-c9dc8d8b0819", + "target" : "username" + }, { + "secretId" : "f27e85b2-318b-4145-b5aa-c9dc8d8b0819", + "target" : "username" + } ], "protocol" : "tcp", "collectProxyNetworkData" : false, "followRedirects" : true, @@ -289,6 +296,13 @@ class TestAPIInstantTestsApi(unittest.TestCase): "username" : "ThousandEyesUserName" } ], "type" : "api", + "vaultCredentials" : [ { + "secretId" : "f27e85b2-318b-4145-b5aa-c9dc8d8b0819", + "target" : "username" + }, { + "secretId" : "f27e85b2-318b-4145-b5aa-c9dc8d8b0819", + "target" : "username" + } ], "protocol" : "tcp", "collectProxyNetworkData" : false, "followRedirects" : true, @@ -322,34 +336,36 @@ class TestAPIInstantTestsApi(unittest.TestCase): "agents" : [ { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true }, { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true } ], "timeLimit" : 19, diff --git a/thousandeyes-sdk-instant-tests/test/test_dns_server_instant_tests_api.py b/thousandeyes-sdk-instant-tests/test/test_dns_server_instant_tests_api.py index 3deb41f4..d2c4877e 100644 --- a/thousandeyes-sdk-instant-tests/test/test_dns_server_instant_tests_api.py +++ b/thousandeyes-sdk-instant-tests/test/test_dns_server_instant_tests_api.py @@ -147,34 +147,36 @@ class TestDNSServerInstantTestsApi(unittest.TestCase): "agents" : [ { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true }, { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true } ], "createdDate" : "2022-07-17T22:00:54Z", diff --git a/thousandeyes-sdk-instant-tests/test/test_dns_trace_instant_tests_api.py b/thousandeyes-sdk-instant-tests/test/test_dns_trace_instant_tests_api.py index 6929da13..33b6b3eb 100644 --- a/thousandeyes-sdk-instant-tests/test/test_dns_trace_instant_tests_api.py +++ b/thousandeyes-sdk-instant-tests/test/test_dns_trace_instant_tests_api.py @@ -117,34 +117,36 @@ class TestDNSTraceInstantTestsApi(unittest.TestCase): "agents" : [ { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true }, { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true } ], "createdDate" : "2022-07-17T22:00:54Z", diff --git a/thousandeyes-sdk-instant-tests/test/test_dnssec_instant_tests_api.py b/thousandeyes-sdk-instant-tests/test/test_dnssec_instant_tests_api.py index fc28e24c..453435c5 100644 --- a/thousandeyes-sdk-instant-tests/test/test_dnssec_instant_tests_api.py +++ b/thousandeyes-sdk-instant-tests/test/test_dnssec_instant_tests_api.py @@ -115,34 +115,36 @@ class TestDNSSECInstantTestsApi(unittest.TestCase): "agents" : [ { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true }, { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true } ], "createdDate" : "2022-07-17T22:00:54Z", diff --git a/thousandeyes-sdk-instant-tests/test/test_ftp_server_instant_tests_api.py b/thousandeyes-sdk-instant-tests/test/test_ftp_server_instant_tests_api.py index ec2069ee..a115f347 100644 --- a/thousandeyes-sdk-instant-tests/test/test_ftp_server_instant_tests_api.py +++ b/thousandeyes-sdk-instant-tests/test/test_ftp_server_instant_tests_api.py @@ -147,34 +147,36 @@ class TestFTPServerInstantTestsApi(unittest.TestCase): "agents" : [ { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true }, { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true } ], "createdDate" : "2022-07-17T22:00:54Z", diff --git a/thousandeyes-sdk-instant-tests/test/test_http_page_load_instant_tests_api.py b/thousandeyes-sdk-instant-tests/test/test_http_page_load_instant_tests_api.py index aa6058d8..5bf9f35c 100644 --- a/thousandeyes-sdk-instant-tests/test/test_http_page_load_instant_tests_api.py +++ b/thousandeyes-sdk-instant-tests/test/test_http_page_load_instant_tests_api.py @@ -94,6 +94,13 @@ class TestHTTPPageLoadInstantTestsApi(unittest.TestCase): "description" : "ThousandEyes Test", "httpTimeLimit" : 5, "blockDomains" : "domain.com/", + "vaultCredentials" : [ { + "secretId" : "f27e85b2-318b-4145-b5aa-c9dc8d8b0819", + "target" : "username" + }, { + "secretId" : "f27e85b2-318b-4145-b5aa-c9dc8d8b0819", + "target" : "username" + } ], "allowGeolocation" : false, "allowUnsafeLegacyRenegotiation" : true, "fixedPacketRate" : 50, @@ -224,6 +231,13 @@ class TestHTTPPageLoadInstantTestsApi(unittest.TestCase): "description" : "ThousandEyes Test", "httpTimeLimit" : 5, "blockDomains" : "domain.com/", + "vaultCredentials" : [ { + "secretId" : "f27e85b2-318b-4145-b5aa-c9dc8d8b0819", + "target" : "username" + }, { + "secretId" : "f27e85b2-318b-4145-b5aa-c9dc8d8b0819", + "target" : "username" + } ], "allowGeolocation" : false, "allowUnsafeLegacyRenegotiation" : true, "fixedPacketRate" : 50, @@ -257,34 +271,36 @@ class TestHTTPPageLoadInstantTestsApi(unittest.TestCase): "agents" : [ { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true }, { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true } ], "createdDate" : "2022-07-17T22:00:54Z", diff --git a/thousandeyes-sdk-instant-tests/test/test_http_server_instant_tests_api.py b/thousandeyes-sdk-instant-tests/test/test_http_server_instant_tests_api.py index ee067efb..99cdbdda 100644 --- a/thousandeyes-sdk-instant-tests/test/test_http_server_instant_tests_api.py +++ b/thousandeyes-sdk-instant-tests/test/test_http_server_instant_tests_api.py @@ -89,6 +89,13 @@ class TestHTTPServerInstantTestsApi(unittest.TestCase): "downloadLimit" : 2048, "description" : "ThousandEyes Test", "httpTimeLimit" : 5, + "vaultCredentials" : [ { + "secretId" : "f27e85b2-318b-4145-b5aa-c9dc8d8b0819", + "target" : "username" + }, { + "secretId" : "f27e85b2-318b-4145-b5aa-c9dc8d8b0819", + "target" : "username" + } ], "allowUnsafeLegacyRenegotiation" : true, "fixedPacketRate" : 50, "httpVersion" : 2, @@ -210,6 +217,13 @@ class TestHTTPServerInstantTestsApi(unittest.TestCase): "downloadLimit" : 2048, "description" : "ThousandEyes Test", "httpTimeLimit" : 5, + "vaultCredentials" : [ { + "secretId" : "f27e85b2-318b-4145-b5aa-c9dc8d8b0819", + "target" : "username" + }, { + "secretId" : "f27e85b2-318b-4145-b5aa-c9dc8d8b0819", + "target" : "username" + } ], "allowUnsafeLegacyRenegotiation" : true, "fixedPacketRate" : 50, "httpVersion" : 2, @@ -240,34 +254,36 @@ class TestHTTPServerInstantTestsApi(unittest.TestCase): "agents" : [ { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true }, { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true } ], "createdDate" : "2022-07-17T22:00:54Z", diff --git a/thousandeyes-sdk-instant-tests/test/test_sip_server_instant_tests_api.py b/thousandeyes-sdk-instant-tests/test/test_sip_server_instant_tests_api.py index b35ca6d8..1532565d 100644 --- a/thousandeyes-sdk-instant-tests/test/test_sip_server_instant_tests_api.py +++ b/thousandeyes-sdk-instant-tests/test/test_sip_server_instant_tests_api.py @@ -147,34 +147,36 @@ class TestSIPServerInstantTestsApi(unittest.TestCase): "agents" : [ { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true }, { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true } ], "createdDate" : "2022-07-17T22:00:54Z", diff --git a/thousandeyes-sdk-instant-tests/test/test_voice_instant_tests_api.py b/thousandeyes-sdk-instant-tests/test/test_voice_instant_tests_api.py index 6cb0c7b6..19276fd0 100644 --- a/thousandeyes-sdk-instant-tests/test/test_voice_instant_tests_api.py +++ b/thousandeyes-sdk-instant-tests/test/test_voice_instant_tests_api.py @@ -123,34 +123,36 @@ class TestVoiceInstantTestsApi(unittest.TestCase): "agents" : [ { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true }, { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true } ], "dscpId" : "0", diff --git a/thousandeyes-sdk-instant-tests/test/test_web_transaction_instant_tests_api.py b/thousandeyes-sdk-instant-tests/test/test_web_transaction_instant_tests_api.py index 8600e3d8..95a6d820 100644 --- a/thousandeyes-sdk-instant-tests/test/test_web_transaction_instant_tests_api.py +++ b/thousandeyes-sdk-instant-tests/test/test_web_transaction_instant_tests_api.py @@ -95,6 +95,13 @@ class TestWebTransactionInstantTestsApi(unittest.TestCase): "description" : "ThousandEyes Test", "httpTimeLimit" : 5, "blockDomains" : "domain.com/", + "vaultCredentials" : [ { + "secretId" : "f27e85b2-318b-4145-b5aa-c9dc8d8b0819", + "target" : "username" + }, { + "secretId" : "f27e85b2-318b-4145-b5aa-c9dc8d8b0819", + "target" : "username" + } ], "allowGeolocation" : false, "allowUnsafeLegacyRenegotiation" : true, "fixedPacketRate" : 50, @@ -227,6 +234,13 @@ class TestWebTransactionInstantTestsApi(unittest.TestCase): "description" : "ThousandEyes Test", "httpTimeLimit" : 5, "blockDomains" : "domain.com/", + "vaultCredentials" : [ { + "secretId" : "f27e85b2-318b-4145-b5aa-c9dc8d8b0819", + "target" : "username" + }, { + "secretId" : "f27e85b2-318b-4145-b5aa-c9dc8d8b0819", + "target" : "username" + } ], "allowGeolocation" : false, "allowUnsafeLegacyRenegotiation" : true, "fixedPacketRate" : 50, @@ -259,34 +273,36 @@ class TestWebTransactionInstantTestsApi(unittest.TestCase): "agents" : [ { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true }, { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true } ], "timeLimit" : 30, diff --git a/thousandeyes-sdk-internet-insights/README.md b/thousandeyes-sdk-internet-insights/README.md index feac74e4..b9c04988 100644 --- a/thousandeyes-sdk-internet-insights/README.md +++ b/thousandeyes-sdk-internet-insights/README.md @@ -16,7 +16,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.84 +- API version: 7.0.88 - 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 fec603d7..54b97a2a 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.84 +- API version: 7.0.88 - Generator version: 7.6.0 - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator diff --git a/thousandeyes-sdk-streaming/.openapi-generator/FILES b/thousandeyes-sdk-streaming/.openapi-generator/FILES index c51b9381..fcda2a9e 100644 --- a/thousandeyes-sdk-streaming/.openapi-generator/FILES +++ b/thousandeyes-sdk-streaming/.openapi-generator/FILES @@ -9,6 +9,7 @@ docs/BadRequestError.md docs/CreateStreamResponse.md docs/DataModelVersion.md docs/EndpointAgentLabel.md +docs/EndpointAgentTag.md docs/EndpointType.md docs/ExporterConfig.md docs/ExporterConfigAuthorization.md @@ -28,7 +29,6 @@ docs/StreamStatusType.md docs/StreamType.md docs/StreamingApi.md docs/TagMatch.md -docs/TagMatchObjectType.md docs/TestMatch.md docs/TestMatchDomain.md docs/TestType.md @@ -47,6 +47,7 @@ src/thousandeyes_sdk/streaming/models/bad_request_error.py src/thousandeyes_sdk/streaming/models/create_stream_response.py src/thousandeyes_sdk/streaming/models/data_model_version.py src/thousandeyes_sdk/streaming/models/endpoint_agent_label.py +src/thousandeyes_sdk/streaming/models/endpoint_agent_tag.py src/thousandeyes_sdk/streaming/models/endpoint_type.py src/thousandeyes_sdk/streaming/models/exporter_config.py src/thousandeyes_sdk/streaming/models/exporter_config_authorization.py @@ -65,7 +66,6 @@ src/thousandeyes_sdk/streaming/models/stream_status.py src/thousandeyes_sdk/streaming/models/stream_status_type.py src/thousandeyes_sdk/streaming/models/stream_type.py src/thousandeyes_sdk/streaming/models/tag_match.py -src/thousandeyes_sdk/streaming/models/tag_match_object_type.py src/thousandeyes_sdk/streaming/models/test_match.py src/thousandeyes_sdk/streaming/models/test_match_domain.py src/thousandeyes_sdk/streaming/models/test_type.py diff --git a/thousandeyes-sdk-streaming/README.md b/thousandeyes-sdk-streaming/README.md index f3c503f2..4c8f7757 100644 --- a/thousandeyes-sdk-streaming/README.md +++ b/thousandeyes-sdk-streaming/README.md @@ -17,7 +17,7 @@ For more information about ThousandEyes for OpenTelemetry, see the [product docu This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: -- API version: 7.0.84 +- API version: 7.0.88 - Generator version: 7.6.0 - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator @@ -126,6 +126,7 @@ Class | Method | HTTP request | Description - [CreateStreamResponse](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/CreateStreamResponse.md) - [DataModelVersion](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/DataModelVersion.md) - [EndpointAgentLabel](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/EndpointAgentLabel.md) + - [EndpointAgentTag](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/EndpointAgentTag.md) - [EndpointType](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/EndpointType.md) - [ExporterConfig](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/ExporterConfig.md) - [ExporterConfigAuthorization](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/ExporterConfigAuthorization.md) @@ -144,7 +145,6 @@ Class | Method | HTTP request | Description - [StreamStatusType](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/StreamStatusType.md) - [StreamType](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/StreamType.md) - [TagMatch](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/TagMatch.md) - - [TagMatchObjectType](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/TagMatchObjectType.md) - [TestMatch](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/TestMatch.md) - [TestMatchDomain](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/TestMatchDomain.md) - [TestType](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/TestType.md) diff --git a/thousandeyes-sdk-streaming/docs/CreateStreamResponse.md b/thousandeyes-sdk-streaming/docs/CreateStreamResponse.md index 2520d8db..42c62a73 100644 --- a/thousandeyes-sdk-streaming/docs/CreateStreamResponse.md +++ b/thousandeyes-sdk-streaming/docs/CreateStreamResponse.md @@ -18,7 +18,8 @@ Name | Type | Description | Notes **test_match** | [**List[TestMatch]**](TestMatch.md) | A collection of tests to be included in the data stream. | [optional] **filters** | [**Filters**](Filters.md) | | [optional] **exporter_config** | [**ExporterConfig**](ExporterConfig.md) | | [optional] -**endpoint_agent_label** | [**List[EndpointAgentLabel]**](EndpointAgentLabel.md) | A collection of Endpoint Agent label IDs that determines what local network data is included in the data stream. | [optional] +**endpoint_agent_label** | [**List[EndpointAgentLabel]**](EndpointAgentLabel.md) | A collection of Endpoint Agent label IDs that determines what local network data is included in the data stream. `endpointAgentLabel` and `endpointAgentTag` represent the same data. Configure only one; both are synchronized. | [optional] +**endpoint_agent_tag** | [**List[EndpointAgentTag]**](EndpointAgentTag.md) | A collection of Endpoint Agent Tag IDs that determines what local network data is included in the data stream. `endpointAgentLabel` and `endpointAgentTag` represent the same data. Configure only one; both are synchronized. | [optional] **audit_operation** | [**AuditOperation**](AuditOperation.md) | | [optional] **stream_status** | [**StreamStatus**](StreamStatus.md) | | [optional] diff --git a/thousandeyes-sdk-streaming/docs/EndpointAgentLabel.md b/thousandeyes-sdk-streaming/docs/EndpointAgentLabel.md index 1dd0310a..46014b24 100644 --- a/thousandeyes-sdk-streaming/docs/EndpointAgentLabel.md +++ b/thousandeyes-sdk-streaming/docs/EndpointAgentLabel.md @@ -6,7 +6,7 @@ Endpoint Agent label configuration. Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**id** | **str** | The label ID of Endpoint Agent labels. | [optional] +**id** | **str** | The label ID of Endpoint Agent labels. | ## Example diff --git a/thousandeyes-sdk-streaming/docs/EndpointAgentTag.md b/thousandeyes-sdk-streaming/docs/EndpointAgentTag.md new file mode 100644 index 00000000..5b514e9d --- /dev/null +++ b/thousandeyes-sdk-streaming/docs/EndpointAgentTag.md @@ -0,0 +1,30 @@ +# EndpointAgentTag + +Endpoint Agent tag configuration. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | The tag ID of Endpoint Agent tags. | + +## Example + +```python +from thousandeyes_sdk.streaming.models.endpoint_agent_tag import EndpointAgentTag + +# TODO update the JSON string below +json = "{}" +# create an instance of EndpointAgentTag from a JSON string +endpoint_agent_tag_instance = EndpointAgentTag.from_json(json) +# print the JSON string representation of the object +print(EndpointAgentTag.to_json()) + +# convert the object into a dict +endpoint_agent_tag_dict = endpoint_agent_tag_instance.to_dict() +# create an instance of EndpointAgentTag from a dict +endpoint_agent_tag_from_dict = EndpointAgentTag.from_dict(endpoint_agent_tag_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/thousandeyes-sdk-streaming/docs/GetStreamResponse.md b/thousandeyes-sdk-streaming/docs/GetStreamResponse.md index 65cab8bd..65078eb9 100644 --- a/thousandeyes-sdk-streaming/docs/GetStreamResponse.md +++ b/thousandeyes-sdk-streaming/docs/GetStreamResponse.md @@ -18,7 +18,8 @@ Name | Type | Description | Notes **test_match** | [**List[TestMatch]**](TestMatch.md) | A collection of tests to be included in the data stream. | [optional] **filters** | [**Filters**](Filters.md) | | [optional] **exporter_config** | [**ExporterConfig**](ExporterConfig.md) | | [optional] -**endpoint_agent_label** | [**List[EndpointAgentLabel]**](EndpointAgentLabel.md) | A collection of Endpoint Agent label IDs that determines what local network data is included in the data stream. | [optional] +**endpoint_agent_label** | [**List[EndpointAgentLabel]**](EndpointAgentLabel.md) | A collection of Endpoint Agent label IDs that determines what local network data is included in the data stream. `endpointAgentLabel` and `endpointAgentTag` represent the same data. Configure only one; both are synchronized. | [optional] +**endpoint_agent_tag** | [**List[EndpointAgentTag]**](EndpointAgentTag.md) | A collection of Endpoint Agent Tag IDs that determines what local network data is included in the data stream. `endpointAgentLabel` and `endpointAgentTag` represent the same data. Configure only one; both are synchronized. | [optional] **audit_operation** | [**AuditOperationWithUpdate**](AuditOperationWithUpdate.md) | | [optional] **stream_status** | [**StreamStatus**](StreamStatus.md) | | [optional] diff --git a/thousandeyes-sdk-streaming/docs/PutStream.md b/thousandeyes-sdk-streaming/docs/PutStream.md index 519cfaf1..b2554a71 100644 --- a/thousandeyes-sdk-streaming/docs/PutStream.md +++ b/thousandeyes-sdk-streaming/docs/PutStream.md @@ -12,7 +12,8 @@ Name | Type | Description | Notes **enabled** | **bool** | Flag to enable or disable the stream integration. | [optional] **filters** | [**Filters**](Filters.md) | | [optional] **exporter_config** | [**ExporterConfig**](ExporterConfig.md) | | [optional] -**endpoint_agent_label** | [**List[EndpointAgentLabel]**](EndpointAgentLabel.md) | A collection of Endpoint Agent label IDs that determines what local network data is included in the data stream. | [optional] +**endpoint_agent_label** | [**List[EndpointAgentLabel]**](EndpointAgentLabel.md) | A collection of Endpoint Agent label IDs that determines what local network data is included in the data stream. `endpointAgentLabel` and `endpointAgentTag` represent the same data. Configure only one; both are synchronized. | [optional] +**endpoint_agent_tag** | [**List[EndpointAgentTag]**](EndpointAgentTag.md) | A collection of Endpoint Agent Tag IDs that determines what local network data is included in the data stream. `endpointAgentLabel` and `endpointAgentTag` represent the same data. Configure only one; both are synchronized. | [optional] ## Example diff --git a/thousandeyes-sdk-streaming/docs/Stream.md b/thousandeyes-sdk-streaming/docs/Stream.md index 4ba97f04..f754c1f3 100644 --- a/thousandeyes-sdk-streaming/docs/Stream.md +++ b/thousandeyes-sdk-streaming/docs/Stream.md @@ -12,7 +12,8 @@ Name | Type | Description | Notes **enabled** | **bool** | Flag to enable or disable the stream integration. | [optional] **filters** | [**Filters**](Filters.md) | | [optional] **exporter_config** | [**ExporterConfig**](ExporterConfig.md) | | [optional] -**endpoint_agent_label** | [**List[EndpointAgentLabel]**](EndpointAgentLabel.md) | A collection of Endpoint Agent label IDs that determines what local network data is included in the data stream. | [optional] +**endpoint_agent_label** | [**List[EndpointAgentLabel]**](EndpointAgentLabel.md) | A collection of Endpoint Agent label IDs that determines what local network data is included in the data stream. `endpointAgentLabel` and `endpointAgentTag` represent the same data. Configure only one; both are synchronized. | [optional] +**endpoint_agent_tag** | [**List[EndpointAgentTag]**](EndpointAgentTag.md) | A collection of Endpoint Agent Tag IDs that determines what local network data is included in the data stream. `endpointAgentLabel` and `endpointAgentTag` represent the same data. Configure only one; both are synchronized. | [optional] **type** | [**StreamType**](StreamType.md) | | [optional] **signal** | [**Signal**](Signal.md) | | [optional] **endpoint_type** | [**EndpointType**](EndpointType.md) | | [optional] diff --git a/thousandeyes-sdk-streaming/docs/TagMatchObjectType.md b/thousandeyes-sdk-streaming/docs/TagMatchObjectType.md deleted file mode 100644 index 62eb324e..00000000 --- a/thousandeyes-sdk-streaming/docs/TagMatchObjectType.md +++ /dev/null @@ -1,12 +0,0 @@ -# TagMatchObjectType - -The object type of tag - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/__init__.py b/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/__init__.py index 1d2e5bba..c9b281e9 100644 --- a/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/__init__.py +++ b/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/__init__.py @@ -26,6 +26,7 @@ from thousandeyes_sdk.streaming.models.bad_request_error import BadRequestError from thousandeyes_sdk.streaming.models.create_stream_response import CreateStreamResponse from thousandeyes_sdk.streaming.models.data_model_version import DataModelVersion from thousandeyes_sdk.streaming.models.endpoint_agent_label import EndpointAgentLabel +from thousandeyes_sdk.streaming.models.endpoint_agent_tag import EndpointAgentTag from thousandeyes_sdk.streaming.models.endpoint_type import EndpointType from thousandeyes_sdk.streaming.models.exporter_config import ExporterConfig from thousandeyes_sdk.streaming.models.exporter_config_authorization import ExporterConfigAuthorization @@ -44,7 +45,6 @@ from thousandeyes_sdk.streaming.models.stream_status import StreamStatus from thousandeyes_sdk.streaming.models.stream_status_type import StreamStatusType from thousandeyes_sdk.streaming.models.stream_type import StreamType from thousandeyes_sdk.streaming.models.tag_match import TagMatch -from thousandeyes_sdk.streaming.models.tag_match_object_type import TagMatchObjectType from thousandeyes_sdk.streaming.models.test_match import TestMatch from thousandeyes_sdk.streaming.models.test_match_domain import TestMatchDomain from thousandeyes_sdk.streaming.models.test_type import TestType diff --git a/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/__init__.py b/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/__init__.py index b6d2d7cd..233b1bcc 100644 --- a/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/__init__.py +++ b/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/__init__.py @@ -21,6 +21,7 @@ from thousandeyes_sdk.streaming.models.bad_request_error import BadRequestError from thousandeyes_sdk.streaming.models.create_stream_response import CreateStreamResponse from thousandeyes_sdk.streaming.models.data_model_version import DataModelVersion from thousandeyes_sdk.streaming.models.endpoint_agent_label import EndpointAgentLabel +from thousandeyes_sdk.streaming.models.endpoint_agent_tag import EndpointAgentTag from thousandeyes_sdk.streaming.models.endpoint_type import EndpointType from thousandeyes_sdk.streaming.models.exporter_config import ExporterConfig from thousandeyes_sdk.streaming.models.exporter_config_authorization import ExporterConfigAuthorization @@ -39,7 +40,6 @@ from thousandeyes_sdk.streaming.models.stream_status import StreamStatus from thousandeyes_sdk.streaming.models.stream_status_type import StreamStatusType from thousandeyes_sdk.streaming.models.stream_type import StreamType from thousandeyes_sdk.streaming.models.tag_match import TagMatch -from thousandeyes_sdk.streaming.models.tag_match_object_type import TagMatchObjectType from thousandeyes_sdk.streaming.models.test_match import TestMatch from thousandeyes_sdk.streaming.models.test_match_domain import TestMatchDomain from thousandeyes_sdk.streaming.models.test_type import TestType diff --git a/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/create_stream_response.py b/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/create_stream_response.py index 9eb37331..edfe59d5 100644 --- a/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/create_stream_response.py +++ b/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/create_stream_response.py @@ -21,6 +21,7 @@ from typing import Any, ClassVar, Dict, List, Optional from thousandeyes_sdk.streaming.models.audit_operation import AuditOperation from thousandeyes_sdk.streaming.models.data_model_version import DataModelVersion from thousandeyes_sdk.streaming.models.endpoint_agent_label import EndpointAgentLabel +from thousandeyes_sdk.streaming.models.endpoint_agent_tag import EndpointAgentTag from thousandeyes_sdk.streaming.models.endpoint_type import EndpointType from thousandeyes_sdk.streaming.models.exporter_config import ExporterConfig from thousandeyes_sdk.streaming.models.filters import Filters @@ -50,10 +51,11 @@ class CreateStreamResponse(BaseModel): test_match: Optional[List[TestMatch]] = Field(default=None, description="A collection of tests to be included in the data stream.", alias="testMatch") filters: Optional[Filters] = None exporter_config: Optional[ExporterConfig] = Field(default=None, alias="exporterConfig") - endpoint_agent_label: Optional[List[EndpointAgentLabel]] = Field(default=None, description="A collection of Endpoint Agent label IDs that determines what local network data is included in the data stream.", alias="endpointAgentLabel") + endpoint_agent_label: Optional[List[EndpointAgentLabel]] = Field(default=None, description="A collection of Endpoint Agent label IDs that determines what local network data is included in the data stream. `endpointAgentLabel` and `endpointAgentTag` represent the same data. Configure only one; both are synchronized.", alias="endpointAgentLabel") + endpoint_agent_tag: Optional[List[EndpointAgentTag]] = Field(default=None, description="A collection of Endpoint Agent Tag IDs that determines what local network data is included in the data stream. `endpointAgentLabel` and `endpointAgentTag` represent the same data. Configure only one; both are synchronized.", alias="endpointAgentTag") audit_operation: Optional[AuditOperation] = Field(default=None, alias="auditOperation") stream_status: Optional[StreamStatus] = Field(default=None, alias="streamStatus") - __properties: ClassVar[List[str]] = ["id", "enabled", "_links", "type", "signal", "endpointType", "streamEndpointUrl", "dataModelVersion", "customHeaders", "tagMatch", "testMatch", "filters", "exporterConfig", "endpointAgentLabel", "auditOperation", "streamStatus"] + __properties: ClassVar[List[str]] = ["id", "enabled", "_links", "type", "signal", "endpointType", "streamEndpointUrl", "dataModelVersion", "customHeaders", "tagMatch", "testMatch", "filters", "exporterConfig", "endpointAgentLabel", "endpointAgentTag", "auditOperation", "streamStatus"] model_config = ConfigDict( populate_by_name=True, @@ -127,6 +129,13 @@ class CreateStreamResponse(BaseModel): if _item: _items.append(_item.to_dict()) _dict['endpointAgentLabel'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in endpoint_agent_tag (list) + _items = [] + if self.endpoint_agent_tag: + for _item in self.endpoint_agent_tag: + if _item: + _items.append(_item.to_dict()) + _dict['endpointAgentTag'] = _items # override the default output from pydantic by calling `to_dict()` of audit_operation if self.audit_operation: _dict['auditOperation'] = self.audit_operation.to_dict() @@ -159,6 +168,7 @@ class CreateStreamResponse(BaseModel): "filters": Filters.from_dict(obj["filters"]) if obj.get("filters") is not None else None, "exporterConfig": ExporterConfig.from_dict(obj["exporterConfig"]) if obj.get("exporterConfig") is not None else None, "endpointAgentLabel": [EndpointAgentLabel.from_dict(_item) for _item in obj["endpointAgentLabel"]] if obj.get("endpointAgentLabel") is not None else None, + "endpointAgentTag": [EndpointAgentTag.from_dict(_item) for _item in obj["endpointAgentTag"]] if obj.get("endpointAgentTag") is not None else None, "auditOperation": AuditOperation.from_dict(obj["auditOperation"]) if obj.get("auditOperation") is not None else None, "streamStatus": StreamStatus.from_dict(obj["streamStatus"]) if obj.get("streamStatus") is not None else None }) diff --git a/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/endpoint_agent_label.py b/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/endpoint_agent_label.py index 453972a3..fcdefacb 100644 --- a/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/endpoint_agent_label.py +++ b/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/endpoint_agent_label.py @@ -17,7 +17,7 @@ import re # noqa: F401 import json from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List from typing import Optional, Set from typing_extensions import Self @@ -25,7 +25,7 @@ class EndpointAgentLabel(BaseModel): """ Endpoint Agent label configuration. """ # noqa: E501 - id: Optional[StrictStr] = Field(default=None, description="The label ID of Endpoint Agent labels.") + id: StrictStr = Field(description="The label ID of Endpoint Agent labels.") __properties: ClassVar[List[str]] = ["id"] model_config = ConfigDict( diff --git a/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/endpoint_agent_tag.py b/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/endpoint_agent_tag.py new file mode 100644 index 00000000..77708a5d --- /dev/null +++ b/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/endpoint_agent_tag.py @@ -0,0 +1,87 @@ +# coding: utf-8 + +""" + ThousandEyes for OpenTelemetry API + + **Note:** All ThousandEyes for OpenTelemetry APIs are not available for ThousandEyes for Government instance. ThousandEyes for OpenTelemetry provides machine-to-machine integration between ThousandEyes and its customers. It allows you to export ThousandEyes telemetry data in OTel format, which is widely used in the industry. With ThousandEyes for OTel, you can leverage frameworks widely used in the observability domain - such as Splunk, Grafana, and Honeycomb - to capture and analyze ThousandEyes data. Any client that supports OTel can use ThousandEyes for OpenTelemetry. ThousandEyes for OTel is made up of the following components: * Data streaming APIs that you can use to configure and enable your ThousandEyes tests with OTel-compatible streams, in particular to configure how ThousandEyes telemetry data is exported to client integrations. * A set of streaming pipelines called _collectors_ that actively fetch ThousandEyes network test data, enrich the data with some additional detail, filter, and push the data to the customer-configured endpoints, depending on what you configure via the public APIs. * Third-party OTel collectors that receive, transform, filter, and export different metrics to client applications such as AppD, or any other OTel-capable client configuration. For more information about ThousandEyes for OpenTelemetry, see the [product documentation](https://docs.thousandeyes.com/product-documentation/integration-guides/opentelemetry). + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List +from typing import Optional, Set +from typing_extensions import Self + +class EndpointAgentTag(BaseModel): + """ + Endpoint Agent tag configuration. + """ # noqa: E501 + id: StrictStr = Field(description="The tag ID of Endpoint Agent tags.") + __properties: ClassVar[List[str]] = ["id"] + + 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 EndpointAgentTag 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 EndpointAgentTag from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id") + }) + return _obj + + diff --git a/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/get_stream_response.py b/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/get_stream_response.py index 767b19a2..a1dc19fd 100644 --- a/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/get_stream_response.py +++ b/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/get_stream_response.py @@ -21,6 +21,7 @@ from typing import Any, ClassVar, Dict, List, Optional from thousandeyes_sdk.streaming.models.audit_operation_with_update import AuditOperationWithUpdate from thousandeyes_sdk.streaming.models.data_model_version import DataModelVersion from thousandeyes_sdk.streaming.models.endpoint_agent_label import EndpointAgentLabel +from thousandeyes_sdk.streaming.models.endpoint_agent_tag import EndpointAgentTag from thousandeyes_sdk.streaming.models.endpoint_type import EndpointType from thousandeyes_sdk.streaming.models.exporter_config import ExporterConfig from thousandeyes_sdk.streaming.models.filters import Filters @@ -50,10 +51,11 @@ class GetStreamResponse(BaseModel): test_match: Optional[List[TestMatch]] = Field(default=None, description="A collection of tests to be included in the data stream.", alias="testMatch") filters: Optional[Filters] = None exporter_config: Optional[ExporterConfig] = Field(default=None, alias="exporterConfig") - endpoint_agent_label: Optional[List[EndpointAgentLabel]] = Field(default=None, description="A collection of Endpoint Agent label IDs that determines what local network data is included in the data stream.", alias="endpointAgentLabel") + endpoint_agent_label: Optional[List[EndpointAgentLabel]] = Field(default=None, description="A collection of Endpoint Agent label IDs that determines what local network data is included in the data stream. `endpointAgentLabel` and `endpointAgentTag` represent the same data. Configure only one; both are synchronized.", alias="endpointAgentLabel") + endpoint_agent_tag: Optional[List[EndpointAgentTag]] = Field(default=None, description="A collection of Endpoint Agent Tag IDs that determines what local network data is included in the data stream. `endpointAgentLabel` and `endpointAgentTag` represent the same data. Configure only one; both are synchronized.", alias="endpointAgentTag") audit_operation: Optional[AuditOperationWithUpdate] = Field(default=None, alias="auditOperation") stream_status: Optional[StreamStatus] = Field(default=None, alias="streamStatus") - __properties: ClassVar[List[str]] = ["id", "enabled", "_links", "type", "signal", "endpointType", "streamEndpointUrl", "dataModelVersion", "customHeaders", "tagMatch", "testMatch", "filters", "exporterConfig", "endpointAgentLabel", "auditOperation", "streamStatus"] + __properties: ClassVar[List[str]] = ["id", "enabled", "_links", "type", "signal", "endpointType", "streamEndpointUrl", "dataModelVersion", "customHeaders", "tagMatch", "testMatch", "filters", "exporterConfig", "endpointAgentLabel", "endpointAgentTag", "auditOperation", "streamStatus"] model_config = ConfigDict( populate_by_name=True, @@ -127,6 +129,13 @@ class GetStreamResponse(BaseModel): if _item: _items.append(_item.to_dict()) _dict['endpointAgentLabel'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in endpoint_agent_tag (list) + _items = [] + if self.endpoint_agent_tag: + for _item in self.endpoint_agent_tag: + if _item: + _items.append(_item.to_dict()) + _dict['endpointAgentTag'] = _items # override the default output from pydantic by calling `to_dict()` of audit_operation if self.audit_operation: _dict['auditOperation'] = self.audit_operation.to_dict() @@ -159,6 +168,7 @@ class GetStreamResponse(BaseModel): "filters": Filters.from_dict(obj["filters"]) if obj.get("filters") is not None else None, "exporterConfig": ExporterConfig.from_dict(obj["exporterConfig"]) if obj.get("exporterConfig") is not None else None, "endpointAgentLabel": [EndpointAgentLabel.from_dict(_item) for _item in obj["endpointAgentLabel"]] if obj.get("endpointAgentLabel") is not None else None, + "endpointAgentTag": [EndpointAgentTag.from_dict(_item) for _item in obj["endpointAgentTag"]] if obj.get("endpointAgentTag") is not None else None, "auditOperation": AuditOperationWithUpdate.from_dict(obj["auditOperation"]) if obj.get("auditOperation") is not None else None, "streamStatus": StreamStatus.from_dict(obj["streamStatus"]) if obj.get("streamStatus") is not None else None }) diff --git a/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/put_stream.py b/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/put_stream.py index f344229c..710f0f5f 100644 --- a/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/put_stream.py +++ b/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/put_stream.py @@ -19,6 +19,7 @@ import json from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr from typing import Any, ClassVar, Dict, List, Optional from thousandeyes_sdk.streaming.models.endpoint_agent_label import EndpointAgentLabel +from thousandeyes_sdk.streaming.models.endpoint_agent_tag import EndpointAgentTag from thousandeyes_sdk.streaming.models.exporter_config import ExporterConfig from thousandeyes_sdk.streaming.models.filters import Filters from thousandeyes_sdk.streaming.models.tag_match import TagMatch @@ -37,8 +38,9 @@ class PutStream(BaseModel): enabled: Optional[StrictBool] = Field(default=None, description="Flag to enable or disable the stream integration.") filters: Optional[Filters] = None exporter_config: Optional[ExporterConfig] = Field(default=None, alias="exporterConfig") - endpoint_agent_label: Optional[List[EndpointAgentLabel]] = Field(default=None, description="A collection of Endpoint Agent label IDs that determines what local network data is included in the data stream.", alias="endpointAgentLabel") - __properties: ClassVar[List[str]] = ["customHeaders", "streamEndpointUrl", "tagMatch", "testMatch", "enabled", "filters", "exporterConfig", "endpointAgentLabel"] + endpoint_agent_label: Optional[List[EndpointAgentLabel]] = Field(default=None, description="A collection of Endpoint Agent label IDs that determines what local network data is included in the data stream. `endpointAgentLabel` and `endpointAgentTag` represent the same data. Configure only one; both are synchronized.", alias="endpointAgentLabel") + endpoint_agent_tag: Optional[List[EndpointAgentTag]] = Field(default=None, description="A collection of Endpoint Agent Tag IDs that determines what local network data is included in the data stream. `endpointAgentLabel` and `endpointAgentTag` represent the same data. Configure only one; both are synchronized.", alias="endpointAgentTag") + __properties: ClassVar[List[str]] = ["customHeaders", "streamEndpointUrl", "tagMatch", "testMatch", "enabled", "filters", "exporterConfig", "endpointAgentLabel", "endpointAgentTag"] model_config = ConfigDict( populate_by_name=True, @@ -107,6 +109,13 @@ class PutStream(BaseModel): if _item: _items.append(_item.to_dict()) _dict['endpointAgentLabel'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in endpoint_agent_tag (list) + _items = [] + if self.endpoint_agent_tag: + for _item in self.endpoint_agent_tag: + if _item: + _items.append(_item.to_dict()) + _dict['endpointAgentTag'] = _items return _dict @classmethod @@ -126,7 +135,8 @@ class PutStream(BaseModel): "enabled": obj.get("enabled"), "filters": Filters.from_dict(obj["filters"]) if obj.get("filters") is not None else None, "exporterConfig": ExporterConfig.from_dict(obj["exporterConfig"]) if obj.get("exporterConfig") is not None else None, - "endpointAgentLabel": [EndpointAgentLabel.from_dict(_item) for _item in obj["endpointAgentLabel"]] if obj.get("endpointAgentLabel") is not None else None + "endpointAgentLabel": [EndpointAgentLabel.from_dict(_item) for _item in obj["endpointAgentLabel"]] if obj.get("endpointAgentLabel") is not None else None, + "endpointAgentTag": [EndpointAgentTag.from_dict(_item) for _item in obj["endpointAgentTag"]] if obj.get("endpointAgentTag") is not None else None }) return _obj diff --git a/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/stream.py b/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/stream.py index 8ec5596d..79dfe7a3 100644 --- a/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/stream.py +++ b/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/stream.py @@ -20,6 +20,7 @@ from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr from typing import Any, ClassVar, Dict, List, Optional from thousandeyes_sdk.streaming.models.data_model_version import DataModelVersion from thousandeyes_sdk.streaming.models.endpoint_agent_label import EndpointAgentLabel +from thousandeyes_sdk.streaming.models.endpoint_agent_tag import EndpointAgentTag from thousandeyes_sdk.streaming.models.endpoint_type import EndpointType from thousandeyes_sdk.streaming.models.exporter_config import ExporterConfig from thousandeyes_sdk.streaming.models.filters import Filters @@ -41,12 +42,13 @@ class Stream(BaseModel): enabled: Optional[StrictBool] = Field(default=None, description="Flag to enable or disable the stream integration.") filters: Optional[Filters] = None exporter_config: Optional[ExporterConfig] = Field(default=None, alias="exporterConfig") - endpoint_agent_label: Optional[List[EndpointAgentLabel]] = Field(default=None, description="A collection of Endpoint Agent label IDs that determines what local network data is included in the data stream.", alias="endpointAgentLabel") + endpoint_agent_label: Optional[List[EndpointAgentLabel]] = Field(default=None, description="A collection of Endpoint Agent label IDs that determines what local network data is included in the data stream. `endpointAgentLabel` and `endpointAgentTag` represent the same data. Configure only one; both are synchronized.", alias="endpointAgentLabel") + endpoint_agent_tag: Optional[List[EndpointAgentTag]] = Field(default=None, description="A collection of Endpoint Agent Tag IDs that determines what local network data is included in the data stream. `endpointAgentLabel` and `endpointAgentTag` represent the same data. Configure only one; both are synchronized.", alias="endpointAgentTag") type: Optional[StreamType] = None signal: Optional[Signal] = None endpoint_type: Optional[EndpointType] = Field(default=None, alias="endpointType") data_model_version: Optional[DataModelVersion] = Field(default=None, alias="dataModelVersion") - __properties: ClassVar[List[str]] = ["customHeaders", "streamEndpointUrl", "tagMatch", "testMatch", "enabled", "filters", "exporterConfig", "endpointAgentLabel", "type", "signal", "endpointType", "dataModelVersion"] + __properties: ClassVar[List[str]] = ["customHeaders", "streamEndpointUrl", "tagMatch", "testMatch", "enabled", "filters", "exporterConfig", "endpointAgentLabel", "endpointAgentTag", "type", "signal", "endpointType", "dataModelVersion"] model_config = ConfigDict( populate_by_name=True, @@ -115,6 +117,13 @@ class Stream(BaseModel): if _item: _items.append(_item.to_dict()) _dict['endpointAgentLabel'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in endpoint_agent_tag (list) + _items = [] + if self.endpoint_agent_tag: + for _item in self.endpoint_agent_tag: + if _item: + _items.append(_item.to_dict()) + _dict['endpointAgentTag'] = _items return _dict @classmethod @@ -135,6 +144,7 @@ class Stream(BaseModel): "filters": Filters.from_dict(obj["filters"]) if obj.get("filters") is not None else None, "exporterConfig": ExporterConfig.from_dict(obj["exporterConfig"]) if obj.get("exporterConfig") is not None else None, "endpointAgentLabel": [EndpointAgentLabel.from_dict(_item) for _item in obj["endpointAgentLabel"]] if obj.get("endpointAgentLabel") is not None else None, + "endpointAgentTag": [EndpointAgentTag.from_dict(_item) for _item in obj["endpointAgentTag"]] if obj.get("endpointAgentTag") is not None else None, "type": obj.get("type"), "signal": obj.get("signal"), "endpointType": obj.get("endpointType"), diff --git a/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/tag_match_object_type.py b/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/tag_match_object_type.py deleted file mode 100644 index fbc5112f..00000000 --- a/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/tag_match_object_type.py +++ /dev/null @@ -1,40 +0,0 @@ -# coding: utf-8 - -""" - ThousandEyes for OpenTelemetry API - - **Note:** All ThousandEyes for OpenTelemetry APIs are not available for ThousandEyes for Government instance. ThousandEyes for OpenTelemetry provides machine-to-machine integration between ThousandEyes and its customers. It allows you to export ThousandEyes telemetry data in OTel format, which is widely used in the industry. With ThousandEyes for OTel, you can leverage frameworks widely used in the observability domain - such as Splunk, Grafana, and Honeycomb - to capture and analyze ThousandEyes data. Any client that supports OTel can use ThousandEyes for OpenTelemetry. ThousandEyes for OTel is made up of the following components: * Data streaming APIs that you can use to configure and enable your ThousandEyes tests with OTel-compatible streams, in particular to configure how ThousandEyes telemetry data is exported to client integrations. * A set of streaming pipelines called _collectors_ that actively fetch ThousandEyes network test data, enrich the data with some additional detail, filter, and push the data to the customer-configured endpoints, depending on what you configure via the public APIs. * Third-party OTel collectors that receive, transform, filter, and export different metrics to client applications such as AppD, or any other OTel-capable client configuration. For more information about ThousandEyes for OpenTelemetry, see the [product documentation](https://docs.thousandeyes.com/product-documentation/integration-guides/opentelemetry). - - Generated by OpenAPI Generator (https://openapi-generator.tech) - - Do not edit the class manually. -""" # noqa: E501 - - -from __future__ import annotations -import json -from enum import Enum -from typing_extensions import Self - - -class TagMatchObjectType(str, Enum): - """ - The object type of tag - """ - - """ - allowed enum values - """ - TEST = 'test' - UNKNOWN = 'unknown' - - @classmethod - def from_json(cls, json_str: str) -> Self: - """Create an instance of TagMatchObjectType from a JSON string""" - return cls(json.loads(json_str)) - - @classmethod - def _missing_(cls, value): - """Handle unknown values""" - return cls.UNKNOWN - diff --git a/thousandeyes-sdk-streaming/test/test_streaming_api.py b/thousandeyes-sdk-streaming/test/test_streaming_api.py index e5450407..0dd60ace 100644 --- a/thousandeyes-sdk-streaming/test/test_streaming_api.py +++ b/thousandeyes-sdk-streaming/test/test_streaming_api.py @@ -37,13 +37,6 @@ class TestStreamingApi(unittest.TestCase): }, { "id" : "1234" } ], - "testMatch" : [ { - "id" : "1234", - "domain" : "cea" - }, { - "id" : "5678", - "domain" : "endpoint" - } ], "endpointType" : "grpc", "streamEndpointUrl" : "https://api.thousandeyes.otel-collector", "exporterConfig" : { @@ -62,6 +55,26 @@ class TestStreamingApi(unittest.TestCase): "token" : "d0a91307-be2f-4218-a9f8-71c02d98846b" } }, + "filters" : { + "testTypes" : { + "values" : [ "agent-to-server", "bgp", "http-server" ] + } + }, + "type" : "opentelemetry", + "dataModelVersion" : "v2", + "enabled" : true, + "endpointAgentTag" : [ { + "id" : "91863f70-e5a6-4a1c-a266-caf02db3607d" + }, { + "id" : "91863f70-e5a6-4a1c-a266-caf02db3607d" + } ], + "testMatch" : [ { + "id" : "1234", + "domain" : "cea" + }, { + "id" : "5678", + "domain" : "endpoint" + } ], "tagMatch" : [ { "key" : "keyA", "value" : "valueA" @@ -69,19 +82,11 @@ class TestStreamingApi(unittest.TestCase): "key" : "keyB", "value" : "valueB" } ], - "filters" : { - "testTypes" : { - "values" : [ "agent-to-server", "bgp", "http-server" ] - } - }, - "type" : "opentelemetry", "signal" : "metric", - "dataModelVersion" : "v2", "customHeaders" : { "Authorization" : "*****", "Content-Type" : "*****" - }, - "enabled" : true + } } """ @@ -127,6 +132,11 @@ class TestStreamingApi(unittest.TestCase): "type" : "opentelemetry", "enabled" : true, "dataModelVersion" : "v2", + "endpointAgentTag" : [ { + "id" : "91863f70-e5a6-4a1c-a266-caf02db3607d" + }, { + "id" : "91863f70-e5a6-4a1c-a266-caf02db3607d" + } ], "testMatch" : [ { "id" : "1234", "domain" : "cea" @@ -207,6 +217,11 @@ class TestStreamingApi(unittest.TestCase): "type" : "opentelemetry", "enabled" : true, "dataModelVersion" : "v2", + "endpointAgentTag" : [ { + "id" : "91863f70-e5a6-4a1c-a266-caf02db3607d" + }, { + "id" : "91863f70-e5a6-4a1c-a266-caf02db3607d" + } ], "testMatch" : [ { "id" : "1234", "domain" : "cea" @@ -285,6 +300,11 @@ class TestStreamingApi(unittest.TestCase): "type" : "opentelemetry", "enabled" : true, "dataModelVersion" : "v2", + "endpointAgentTag" : [ { + "id" : "91863f70-e5a6-4a1c-a266-caf02db3607d" + }, { + "id" : "91863f70-e5a6-4a1c-a266-caf02db3607d" + } ], "testMatch" : [ { "id" : "1234", "domain" : "cea" @@ -353,6 +373,11 @@ class TestStreamingApi(unittest.TestCase): "type" : "opentelemetry", "enabled" : true, "dataModelVersion" : "v2", + "endpointAgentTag" : [ { + "id" : "91863f70-e5a6-4a1c-a266-caf02db3607d" + }, { + "id" : "91863f70-e5a6-4a1c-a266-caf02db3607d" + } ], "testMatch" : [ { "id" : "1234", "domain" : "cea" @@ -402,6 +427,11 @@ class TestStreamingApi(unittest.TestCase): }, { "id" : "1234" } ], + "endpointAgentTag" : [ { + "id" : "91863f70-e5a6-4a1c-a266-caf02db3607d" + }, { + "id" : "91863f70-e5a6-4a1c-a266-caf02db3607d" + } ], "testMatch" : [ { "id" : "1234", "domain" : "cea" @@ -488,6 +518,11 @@ class TestStreamingApi(unittest.TestCase): "type" : "opentelemetry", "enabled" : true, "dataModelVersion" : "v2", + "endpointAgentTag" : [ { + "id" : "91863f70-e5a6-4a1c-a266-caf02db3607d" + }, { + "id" : "91863f70-e5a6-4a1c-a266-caf02db3607d" + } ], "testMatch" : [ { "id" : "1234", "domain" : "cea" diff --git a/thousandeyes-sdk-tags/README.md b/thousandeyes-sdk-tags/README.md index 945527e5..e55b7dd3 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.84 +- API version: 7.0.88 - Generator version: 7.6.0 - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator diff --git a/thousandeyes-sdk-tags/docs/AccessType.md b/thousandeyes-sdk-tags/docs/AccessType.md index c37d6803..85ff52b0 100644 --- a/thousandeyes-sdk-tags/docs/AccessType.md +++ b/thousandeyes-sdk-tags/docs/AccessType.md @@ -1,6 +1,6 @@ # AccessType - The access level of the tag. The access level determines the label's visibility in the UI and the permissions required to modify it. Accepted values are: * `all`: The tag is visible and editable by any user in the account group with the standard **View tags** or **Edit tags** permission. Default for all user-created tags. * `partner`: The tag is owned by a specific integration partner. Only that partner can read or modify it. It's hidden from all regular account users and excluded from their GET responses. * `system`: Reserved for ThousandEyes internal use only. This value may appear in GET responses on internally managed tags but cannot be set by users or integration partners. +The access level of the tag. The access level determines the label's visibility in the UI and the permissions required to modify it. Accepted values are: * `all`: The tag is visible and editable by any user in the account group with the standard **View tags** or **Edit tags** permission. Default for all user-created tags. * `partner`: The tag is owned by a specific integration partner. Only that partner can read or modify it. It's hidden from all regular account users and excluded from their GET responses. * `system`: Reserved for ThousandEyes internal use only. This value may appear in GET responses on internally managed tags but cannot be set by users or integration partners. ## Properties diff --git a/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/access_type.py b/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/access_type.py index f258c3b6..48267a73 100644 --- a/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/access_type.py +++ b/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/access_type.py @@ -19,7 +19,7 @@ from typing_extensions import Self class AccessType(str, Enum): """ - The access level of the tag. The access level determines the label's visibility in the UI and the permissions required to modify it. Accepted values are: * `all`: The tag is visible and editable by any user in the account group with the standard **View tags** or **Edit tags** permission. Default for all user-created tags. * `partner`: The tag is owned by a specific integration partner. Only that partner can read or modify it. It's hidden from all regular account users and excluded from their GET responses. * `system`: Reserved for ThousandEyes internal use only. This value may appear in GET responses on internally managed tags but cannot be set by users or integration partners. + The access level of the tag. The access level determines the label's visibility in the UI and the permissions required to modify it. Accepted values are: * `all`: The tag is visible and editable by any user in the account group with the standard **View tags** or **Edit tags** permission. Default for all user-created tags. * `partner`: The tag is owned by a specific integration partner. Only that partner can read or modify it. It's hidden from all regular account users and excluded from their GET responses. * `system`: Reserved for ThousandEyes internal use only. This value may appear in GET responses on internally managed tags but cannot be set by users or integration partners. """ """ diff --git a/thousandeyes-sdk-test-results/README.md b/thousandeyes-sdk-test-results/README.md index 1c721b30..f02b1bd3 100644 --- a/thousandeyes-sdk-test-results/README.md +++ b/thousandeyes-sdk-test-results/README.md @@ -3,7 +3,7 @@ Get test result metrics for Network and Application Synthetics tests. This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: -- API version: 7.0.84 +- API version: 7.0.88 - Generator version: 7.6.0 - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator diff --git a/thousandeyes-sdk-test-results/test/test_api_test_results_api.py b/thousandeyes-sdk-test-results/test/test_api_test_results_api.py index 21929b15..84434837 100644 --- a/thousandeyes-sdk-test-results/test/test_api_test_results_api.py +++ b/thousandeyes-sdk-test-results/test/test_api_test_results_api.py @@ -99,7 +99,7 @@ class TestAPITestResultsApi(unittest.TestCase): }, "results" : [ { "date" : "2022-07-17T22:00:54Z", - "completion" : 100.0, + "completion" : 100, "agent" : { "agentId" : "281474976710706", "agentName" : "thousandeyes-stg-va-254", @@ -123,7 +123,7 @@ class TestAPITestResultsApi(unittest.TestCase): "startTime" : 1384309800, "endTime" : 1384309800, "requests" : [ { - "completion" : 100.0, + "completion" : 100, "stepType" : "default", "responseTime" : 440.8, "apiCallTime" : 900.9, @@ -147,7 +147,7 @@ class TestAPITestResultsApi(unittest.TestCase): "stepTime" : 990.1, "waitTime" : 18.1 }, { - "completion" : 100.0, + "completion" : 100, "stepType" : "default", "responseTime" : 440.8, "apiCallTime" : 900.9, @@ -175,7 +175,7 @@ class TestAPITestResultsApi(unittest.TestCase): "errorDetails" : "Connection error" }, { "date" : "2022-07-17T22:00:54Z", - "completion" : 100.0, + "completion" : 100, "agent" : { "agentId" : "281474976710706", "agentName" : "thousandeyes-stg-va-254", @@ -199,7 +199,7 @@ class TestAPITestResultsApi(unittest.TestCase): "startTime" : 1384309800, "endTime" : 1384309800, "requests" : [ { - "completion" : 100.0, + "completion" : 100, "stepType" : "default", "responseTime" : 440.8, "apiCallTime" : 900.9, @@ -223,7 +223,7 @@ class TestAPITestResultsApi(unittest.TestCase): "stepTime" : 990.1, "waitTime" : 18.1 }, { - "completion" : 100.0, + "completion" : 100, "stepType" : "default", "responseTime" : 440.8, "apiCallTime" : 900.9, @@ -328,7 +328,7 @@ class TestAPITestResultsApi(unittest.TestCase): }, "results" : [ { "date" : "2022-07-17T22:00:54Z", - "completion" : 100.0, + "completion" : 100, "agent" : { "agentId" : "281474976710706", "agentName" : "thousandeyes-stg-va-254", @@ -355,7 +355,7 @@ class TestAPITestResultsApi(unittest.TestCase): "errorDetails" : "Connection error" }, { "date" : "2022-07-17T22:00:54Z", - "completion" : 100.0, + "completion" : 100, "agent" : { "agentId" : "281474976710706", "agentName" : "thousandeyes-stg-va-254", diff --git a/thousandeyes-sdk-test-results/test/test_network_bgp_test_results_api.py b/thousandeyes-sdk-test-results/test/test_network_bgp_test_results_api.py index 152f4935..efd34ea5 100644 --- a/thousandeyes-sdk-test-results/test/test_network_bgp_test_results_api.py +++ b/thousandeyes-sdk-test-results/test/test_network_bgp_test_results_api.py @@ -120,9 +120,9 @@ class TestNetworkBGPTestResultsApi(unittest.TestCase): }, "startTime" : 1384309800, "endTime" : 1384309800, - "reachability" : 0.0, - "updates" : 0.0, - "pathChanges" : 0.0, + "reachability" : 0, + "updates" : 0, + "pathChanges" : 0, "roundId" : 1384309800, "prefixId" : "215" }, { @@ -147,9 +147,9 @@ class TestNetworkBGPTestResultsApi(unittest.TestCase): }, "startTime" : 1384309800, "endTime" : 1384309800, - "reachability" : 0.0, - "updates" : 0.0, - "pathChanges" : 0.0, + "reachability" : 0, + "updates" : 0, + "pathChanges" : 0, "roundId" : 1384309800, "prefixId" : "215" } ], diff --git a/thousandeyes-sdk-test-results/test/test_network_test_results_api.py b/thousandeyes-sdk-test-results/test/test_network_test_results_api.py index d0232f03..47142f1e 100644 --- a/thousandeyes-sdk-test-results/test/test_network_test_results_api.py +++ b/thousandeyes-sdk-test-results/test/test_network_test_results_api.py @@ -111,7 +111,7 @@ class TestNetworkTestResultsApi(unittest.TestCase): "packetsBySecond" : [ [ ], [ 0 ], [ 2 ], [ 2, 1 ], [ 1, 1 ] ], "avgLatency" : 167.04, "bandwidth" : 4.3313155, - "minLatency" : 167.0, + "minLatency" : 167, "_links" : { "appLink" : { "hreflang" : "hreflang", @@ -124,19 +124,19 @@ class TestNetworkTestResultsApi(unittest.TestCase): "title" : "title" } }, - "maxLatency" : 168.0, + "maxLatency" : 168, "proxyJitter" : 1.2, - "proxyAverageLatency" : 45.0, + "proxyAverageLatency" : 45, "proxyLoss" : 2.5, "healthScore" : 0.98, "capacity" : 210.10854, - "loss" : 0.0, - "proxyMinLatency" : 40.0, + "loss" : 0, + "proxyMinLatency" : 40, "jitter" : 0.076808, "serverIp" : "50.18.127.223", "startTime" : 1384309800, "endTime" : 1384309800, - "proxyMaxLatency" : 50.0, + "proxyMaxLatency" : 50, "roundId" : 1384309800, "direction" : "to-target" }, { @@ -152,7 +152,7 @@ class TestNetworkTestResultsApi(unittest.TestCase): "packetsBySecond" : [ [ ], [ 0 ], [ 2 ], [ 2, 1 ], [ 1, 1 ] ], "avgLatency" : 167.04, "bandwidth" : 4.3313155, - "minLatency" : 167.0, + "minLatency" : 167, "_links" : { "appLink" : { "hreflang" : "hreflang", @@ -165,19 +165,19 @@ class TestNetworkTestResultsApi(unittest.TestCase): "title" : "title" } }, - "maxLatency" : 168.0, + "maxLatency" : 168, "proxyJitter" : 1.2, - "proxyAverageLatency" : 45.0, + "proxyAverageLatency" : 45, "proxyLoss" : 2.5, "healthScore" : 0.98, "capacity" : 210.10854, - "loss" : 0.0, - "proxyMinLatency" : 40.0, + "loss" : 0, + "proxyMinLatency" : 40, "jitter" : 0.076808, "serverIp" : "50.18.127.223", "startTime" : 1384309800, "endTime" : 1384309800, - "proxyMaxLatency" : 50.0, + "proxyMaxLatency" : 50, "roundId" : 1384309800, "direction" : "to-target" } ], diff --git a/thousandeyes-sdk-test-results/test/test_voice_rtp_server_test_results_api.py b/thousandeyes-sdk-test-results/test/test_voice_rtp_server_test_results_api.py index f372646e..292e9784 100644 --- a/thousandeyes-sdk-test-results/test/test_voice_rtp_server_test_results_api.py +++ b/thousandeyes-sdk-test-results/test/test_voice_rtp_server_test_results_api.py @@ -122,10 +122,10 @@ class TestVoiceRTPServerTestResultsApi(unittest.TestCase): "dscpName" : "EF (DSCP 46)", "latency" : 103, "mos" : 4.351024, - "loss" : 0.0, + "loss" : 0, "dscp" : "46", "codecMaxMos" : 4.41, - "discards" : 0.0, + "discards" : 0, "serverIp" : "172.97.102.37", "errorDetail" : "Connection error", "startTime" : 1384309800, @@ -156,10 +156,10 @@ class TestVoiceRTPServerTestResultsApi(unittest.TestCase): "dscpName" : "EF (DSCP 46)", "latency" : 103, "mos" : 4.351024, - "loss" : 0.0, + "loss" : 0, "dscp" : "46", "codecMaxMos" : 4.41, - "discards" : 0.0, + "discards" : 0, "serverIp" : "172.97.102.37", "errorDetail" : "Connection error", "startTime" : 1384309800, diff --git a/thousandeyes-sdk-test-results/test/test_voice_sip_server_test_results_api.py b/thousandeyes-sdk-test-results/test/test_voice_sip_server_test_results_api.py index e026c8b8..aaa8d210 100644 --- a/thousandeyes-sdk-test-results/test/test_voice_sip_server_test_results_api.py +++ b/thousandeyes-sdk-test-results/test/test_voice_sip_server_test_results_api.py @@ -125,7 +125,7 @@ class TestVoiceSIPServerTestResultsApi(unittest.TestCase): "responseTime" : 12, "totalTime" : 40, "errorType" : "none", - "availability" : 100.0, + "availability" : 100, "responseCode" : 200, "optionsResponse" : "SIP/2.0 401 Unauthorized\\r\\nVia: SIP/2.0/TCP 38.140.61.68:55431;rport=55431;received=38.140.61.68;branch=z9hG4bKRTzPzMoVh0\\r\\nCall-ID: oO9WaL3av8@38.140.61.68\\r\\nFrom: ;tag=cGaJDNKQFE\\r\\nTo: ;tag=z9hG4bKRTzPzMoVh0\\r\\nCSeq: 3 OPTIONS\\r\\nWWW-Authenticate: Digest realm=\\"asterisk\\",nonce=\\"1598728080/4e3bef2c789bdfa45ce9123221e08c8f\\",opaque=\\"748ffa241d840721\\",algorithm=md5,qop=\\"auth\\"\\r\\nServer: Asterisk PBX 16.4.0\\r\\nContent-Length: 0\\r\\n\\r\\n\\nSIP/2.0 200 OK\\r\\nVia: SIP/2.0/TCP 38.140.61.68:55431;rport=55431;received=38.140.61.68;branch=z9hG4bKRTzPzMoVh0\\r\\nCall-ID: oO9WaL3av8@38.140.61.68\\r\\nFrom: ;tag=cGaJDNKQFE\\r\\nTo: ;tag=z9hG4bKRTzPzMoVh0\\r\\nCSeq: 4 OPTIONS\\r\\nAccept: application/xpidf+xml, application/cpim-pidf+xml, application/simple-message-summary, application/pidf+xml, application/dialog-info+xml, application/simple-message-summary, application/pidf+xml, application/dialog-info+xml, application/sdp, message/sipfrag;version=2.0\\r\\nAllow: OPTIONS, REGISTER, SUBSCRIBE, NOTIFY, PUBLISH, INVITE, ACK, BYE, CANCEL, UPDATE, PRACK, MESSAGE, REFER\\r\\nSupported: 100rel, timer, replaces, norefersub\\r\\nAccept-Encoding: text/plain\\r\\nAccept-Language: en\\r\\nServer: Asterisk PBX 16.4.0\\r\\nContent-Length: 0\\r\\n\\r\\n", "problemDetail" : "problemDetail", @@ -164,7 +164,7 @@ class TestVoiceSIPServerTestResultsApi(unittest.TestCase): "responseTime" : 12, "totalTime" : 40, "errorType" : "none", - "availability" : 100.0, + "availability" : 100, "responseCode" : 200, "optionsResponse" : "SIP/2.0 401 Unauthorized\\r\\nVia: SIP/2.0/TCP 38.140.61.68:55431;rport=55431;received=38.140.61.68;branch=z9hG4bKRTzPzMoVh0\\r\\nCall-ID: oO9WaL3av8@38.140.61.68\\r\\nFrom: ;tag=cGaJDNKQFE\\r\\nTo: ;tag=z9hG4bKRTzPzMoVh0\\r\\nCSeq: 3 OPTIONS\\r\\nWWW-Authenticate: Digest realm=\\"asterisk\\",nonce=\\"1598728080/4e3bef2c789bdfa45ce9123221e08c8f\\",opaque=\\"748ffa241d840721\\",algorithm=md5,qop=\\"auth\\"\\r\\nServer: Asterisk PBX 16.4.0\\r\\nContent-Length: 0\\r\\n\\r\\n\\nSIP/2.0 200 OK\\r\\nVia: SIP/2.0/TCP 38.140.61.68:55431;rport=55431;received=38.140.61.68;branch=z9hG4bKRTzPzMoVh0\\r\\nCall-ID: oO9WaL3av8@38.140.61.68\\r\\nFrom: ;tag=cGaJDNKQFE\\r\\nTo: ;tag=z9hG4bKRTzPzMoVh0\\r\\nCSeq: 4 OPTIONS\\r\\nAccept: application/xpidf+xml, application/cpim-pidf+xml, application/simple-message-summary, application/pidf+xml, application/dialog-info+xml, application/simple-message-summary, application/pidf+xml, application/dialog-info+xml, application/sdp, message/sipfrag;version=2.0\\r\\nAllow: OPTIONS, REGISTER, SUBSCRIBE, NOTIFY, PUBLISH, INVITE, ACK, BYE, CANCEL, UPDATE, PRACK, MESSAGE, REFER\\r\\nSupported: 100rel, timer, replaces, norefersub\\r\\nAccept-Encoding: text/plain\\r\\nAccept-Language: en\\r\\nServer: Asterisk PBX 16.4.0\\r\\nContent-Length: 0\\r\\n\\r\\n", "problemDetail" : "problemDetail", diff --git a/thousandeyes-sdk-test-results/test/test_web_http_server_test_results_api.py b/thousandeyes-sdk-test-results/test/test_web_http_server_test_results_api.py index abd833f5..b1010fc1 100644 --- a/thousandeyes-sdk-test-results/test/test_web_http_server_test_results_api.py +++ b/thousandeyes-sdk-test-results/test/test_web_http_server_test_results_api.py @@ -125,7 +125,7 @@ class TestWebHTTPServerTestResultsApi(unittest.TestCase): "responseCode" : 200, "connectTime" : 2, "startTime" : 1384309800, - "throughput" : 123.0, + "throughput" : 123, "roundId" : 1384309800, "headers" : { "requestHeaders" : "GET / HTTP/1.1\\r\\nHost: www.thousandeyes.com\\r\\nUser-Agent: curl/7.58.0-DEV\\r\\nAccept: */*\\r\\nAccept-Encoding: deflate, gzip\\r\\nX-ThousandEyes-Agent: yes\\r\\n", @@ -189,7 +189,7 @@ class TestWebHTTPServerTestResultsApi(unittest.TestCase): "responseCode" : 200, "connectTime" : 2, "startTime" : 1384309800, - "throughput" : 123.0, + "throughput" : 123, "roundId" : 1384309800, "headers" : { "requestHeaders" : "GET / HTTP/1.1\\r\\nHost: www.thousandeyes.com\\r\\nUser-Agent: curl/7.58.0-DEV\\r\\nAccept: */*\\r\\nAccept-Encoding: deflate, gzip\\r\\nX-ThousandEyes-Agent: yes\\r\\n", diff --git a/thousandeyes-sdk-test-results/test/test_web_transactions_test_results_api.py b/thousandeyes-sdk-test-results/test/test_web_transactions_test_results_api.py index e54624a2..77da637d 100644 --- a/thousandeyes-sdk-test-results/test/test_web_transactions_test_results_api.py +++ b/thousandeyes-sdk-test-results/test/test_web_transactions_test_results_api.py @@ -352,10 +352,10 @@ class TestWebTransactionsTestResultsApi(unittest.TestCase): "startTime" : 1384309800, "endTime" : 1384309800, "markers" : [ { - "duration" : 0, + "duration" : 1360, "name" : "SearchForWebdriver" }, { - "duration" : 0, + "duration" : 1360, "name" : "SearchForWebdriver" } ], "roundId" : 1384309800, @@ -615,10 +615,10 @@ class TestWebTransactionsTestResultsApi(unittest.TestCase): "startTime" : 1384309800, "endTime" : 1384309800, "markers" : [ { - "duration" : 0, + "duration" : 1360, "name" : "SearchForWebdriver" }, { - "duration" : 0, + "duration" : 1360, "name" : "SearchForWebdriver" } ], "roundId" : 1384309800, @@ -738,10 +738,10 @@ class TestWebTransactionsTestResultsApi(unittest.TestCase): "endTime" : 1384309800, "transactionTime" : 2379, "markers" : [ { - "duration" : 0, + "duration" : 1360, "name" : "SearchForWebdriver" }, { - "duration" : 0, + "duration" : 1360, "name" : "SearchForWebdriver" } ], "roundId" : 1384309800, @@ -785,10 +785,10 @@ class TestWebTransactionsTestResultsApi(unittest.TestCase): "endTime" : 1384309800, "transactionTime" : 2379, "markers" : [ { - "duration" : 0, + "duration" : 1360, "name" : "SearchForWebdriver" }, { - "duration" : 0, + "duration" : 1360, "name" : "SearchForWebdriver" } ], "roundId" : 1384309800, diff --git a/thousandeyes-sdk-tests/.openapi-generator/FILES b/thousandeyes-sdk-tests/.openapi-generator/FILES index 238c8b1b..42a50491 100644 --- a/thousandeyes-sdk-tests/.openapi-generator/FILES +++ b/thousandeyes-sdk-tests/.openapi-generator/FILES @@ -42,6 +42,7 @@ docs/ApiTestRequest.md docs/ApiTestResponse.md docs/ApiTests.md docs/BGPTestsApi.md +docs/BaseBgpRequest.md docs/BaseBgpTest.md docs/BaseRequest.md docs/BaseTest.md @@ -63,11 +64,11 @@ docs/DnsSecTestResponse.md docs/DnsSecTests.md docs/DnsServerInstantTest.md docs/DnsServerProperties.md +docs/DnsServerRequestProperties.md docs/DnsServerTest.md docs/DnsServerTestRequest.md docs/DnsServerTestResponse.md docs/DnsServerTests.md -docs/DnsServersRequest.md docs/DnsTraceInstantTest.md docs/DnsTraceProperties.md docs/DnsTraceTest.md @@ -100,6 +101,8 @@ docs/Link.md docs/Monitor.md docs/MonitorType.md docs/MonitorsRequest.md +docs/NetworkProviderInfo.md +docs/NetworkProviderType.md docs/OAuth.md docs/OAuthAuthType.md docs/OAuthRequestMethod.md @@ -148,6 +151,8 @@ docs/TestSipCredentials.md docs/TestSslVersionId.md docs/TestSubInterval.md docs/TestType.md +docs/TestVaultCredential.md +docs/TestVaultCredentialTarget.md docs/TestVersionHistory.md docs/TestVersionHistoryResponse.md docs/Tests.md @@ -158,6 +163,7 @@ docs/UnexpandedAgentToServerTest.md docs/UnexpandedApiTest.md docs/UnexpandedBgpTest.md docs/UnexpandedDnsSecTest.md +docs/UnexpandedDnsServerRequestTest.md docs/UnexpandedDnsServerTest.md docs/UnexpandedDnsTraceTest.md docs/UnexpandedFtpServerTest.md @@ -170,7 +176,6 @@ docs/UnexpandedVoiceTest.md docs/UnexpandedWebTransactionTest.md docs/UpdateAgentToServerTestRequest.md docs/UpdateBgpTestRequest.md -docs/UpdateSipServerTest.md docs/ValidationError.md docs/ValidationErrorItem.md docs/VoiceInstantTest.md @@ -244,6 +249,7 @@ src/thousandeyes_sdk/tests/models/api_test.py src/thousandeyes_sdk/tests/models/api_test_request.py src/thousandeyes_sdk/tests/models/api_test_response.py src/thousandeyes_sdk/tests/models/api_tests.py +src/thousandeyes_sdk/tests/models/base_bgp_request.py src/thousandeyes_sdk/tests/models/base_bgp_test.py src/thousandeyes_sdk/tests/models/base_request.py src/thousandeyes_sdk/tests/models/base_test.py @@ -262,11 +268,11 @@ src/thousandeyes_sdk/tests/models/dns_sec_test_response.py src/thousandeyes_sdk/tests/models/dns_sec_tests.py src/thousandeyes_sdk/tests/models/dns_server_instant_test.py src/thousandeyes_sdk/tests/models/dns_server_properties.py +src/thousandeyes_sdk/tests/models/dns_server_request_properties.py src/thousandeyes_sdk/tests/models/dns_server_test.py src/thousandeyes_sdk/tests/models/dns_server_test_request.py src/thousandeyes_sdk/tests/models/dns_server_test_response.py src/thousandeyes_sdk/tests/models/dns_server_tests.py -src/thousandeyes_sdk/tests/models/dns_servers_request.py src/thousandeyes_sdk/tests/models/dns_trace_instant_test.py src/thousandeyes_sdk/tests/models/dns_trace_properties.py src/thousandeyes_sdk/tests/models/dns_trace_test.py @@ -297,6 +303,8 @@ src/thousandeyes_sdk/tests/models/link.py src/thousandeyes_sdk/tests/models/monitor.py src/thousandeyes_sdk/tests/models/monitor_type.py src/thousandeyes_sdk/tests/models/monitors_request.py +src/thousandeyes_sdk/tests/models/network_provider_info.py +src/thousandeyes_sdk/tests/models/network_provider_type.py src/thousandeyes_sdk/tests/models/o_auth.py src/thousandeyes_sdk/tests/models/o_auth_auth_type.py src/thousandeyes_sdk/tests/models/o_auth_request_method.py @@ -342,6 +350,8 @@ src/thousandeyes_sdk/tests/models/test_sip_credentials.py src/thousandeyes_sdk/tests/models/test_ssl_version_id.py src/thousandeyes_sdk/tests/models/test_sub_interval.py src/thousandeyes_sdk/tests/models/test_type.py +src/thousandeyes_sdk/tests/models/test_vault_credential.py +src/thousandeyes_sdk/tests/models/test_vault_credential_target.py src/thousandeyes_sdk/tests/models/test_version_history.py src/thousandeyes_sdk/tests/models/test_version_history_response.py src/thousandeyes_sdk/tests/models/tests.py @@ -351,6 +361,7 @@ src/thousandeyes_sdk/tests/models/unexpanded_agent_to_server_test.py src/thousandeyes_sdk/tests/models/unexpanded_api_test.py src/thousandeyes_sdk/tests/models/unexpanded_bgp_test.py src/thousandeyes_sdk/tests/models/unexpanded_dns_sec_test.py +src/thousandeyes_sdk/tests/models/unexpanded_dns_server_request_test.py src/thousandeyes_sdk/tests/models/unexpanded_dns_server_test.py src/thousandeyes_sdk/tests/models/unexpanded_dns_trace_test.py src/thousandeyes_sdk/tests/models/unexpanded_ftp_server_test.py @@ -363,7 +374,6 @@ src/thousandeyes_sdk/tests/models/unexpanded_voice_test.py src/thousandeyes_sdk/tests/models/unexpanded_web_transaction_test.py src/thousandeyes_sdk/tests/models/update_agent_to_server_test_request.py src/thousandeyes_sdk/tests/models/update_bgp_test_request.py -src/thousandeyes_sdk/tests/models/update_sip_server_test.py src/thousandeyes_sdk/tests/models/validation_error.py src/thousandeyes_sdk/tests/models/validation_error_item.py src/thousandeyes_sdk/tests/models/voice_instant_test.py diff --git a/thousandeyes-sdk-tests/README.md b/thousandeyes-sdk-tests/README.md index 4d7dc294..1ee8b46b 100644 --- a/thousandeyes-sdk-tests/README.md +++ b/thousandeyes-sdk-tests/README.md @@ -6,7 +6,7 @@ This API allows you to list, create, edit, and delete Network and Application Sy This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: -- API version: 7.0.84 +- API version: 7.0.88 - Generator version: 7.6.0 - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator @@ -211,6 +211,7 @@ Class | Method | HTTP request | Description - [ApiTestRequest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/ApiTestRequest.md) - [ApiTestResponse](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/ApiTestResponse.md) - [ApiTests](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/ApiTests.md) + - [BaseBgpRequest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/BaseBgpRequest.md) - [BaseBgpTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/BaseBgpTest.md) - [BaseRequest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/BaseRequest.md) - [BaseTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/BaseTest.md) @@ -229,11 +230,11 @@ Class | Method | HTTP request | Description - [DnsSecTests](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/DnsSecTests.md) - [DnsServerInstantTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/DnsServerInstantTest.md) - [DnsServerProperties](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/DnsServerProperties.md) + - [DnsServerRequestProperties](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/DnsServerRequestProperties.md) - [DnsServerTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/DnsServerTest.md) - [DnsServerTestRequest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/DnsServerTestRequest.md) - [DnsServerTestResponse](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/DnsServerTestResponse.md) - [DnsServerTests](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/DnsServerTests.md) - - [DnsServersRequest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/DnsServersRequest.md) - [DnsTraceInstantTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/DnsTraceInstantTest.md) - [DnsTraceProperties](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/DnsTraceProperties.md) - [DnsTraceTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/DnsTraceTest.md) @@ -264,6 +265,8 @@ Class | Method | HTTP request | Description - [Monitor](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/Monitor.md) - [MonitorType](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/MonitorType.md) - [MonitorsRequest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/MonitorsRequest.md) + - [NetworkProviderInfo](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/NetworkProviderInfo.md) + - [NetworkProviderType](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/NetworkProviderType.md) - [OAuth](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/OAuth.md) - [OAuthAuthType](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/OAuthAuthType.md) - [OAuthRequestMethod](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/OAuthRequestMethod.md) @@ -309,6 +312,8 @@ Class | Method | HTTP request | Description - [TestSslVersionId](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/TestSslVersionId.md) - [TestSubInterval](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/TestSubInterval.md) - [TestType](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/TestType.md) + - [TestVaultCredential](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/TestVaultCredential.md) + - [TestVaultCredentialTarget](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/TestVaultCredentialTarget.md) - [TestVersionHistory](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/TestVersionHistory.md) - [TestVersionHistoryResponse](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/TestVersionHistoryResponse.md) - [Tests](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/Tests.md) @@ -318,6 +323,7 @@ Class | Method | HTTP request | Description - [UnexpandedApiTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/UnexpandedApiTest.md) - [UnexpandedBgpTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/UnexpandedBgpTest.md) - [UnexpandedDnsSecTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/UnexpandedDnsSecTest.md) + - [UnexpandedDnsServerRequestTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/UnexpandedDnsServerRequestTest.md) - [UnexpandedDnsServerTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/UnexpandedDnsServerTest.md) - [UnexpandedDnsTraceTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/UnexpandedDnsTraceTest.md) - [UnexpandedFtpServerTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/UnexpandedFtpServerTest.md) @@ -330,7 +336,6 @@ Class | Method | HTTP request | Description - [UnexpandedWebTransactionTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/UnexpandedWebTransactionTest.md) - [UpdateAgentToServerTestRequest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/UpdateAgentToServerTestRequest.md) - [UpdateBgpTestRequest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/UpdateBgpTestRequest.md) - - [UpdateSipServerTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/UpdateSipServerTest.md) - [ValidationError](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/ValidationError.md) - [ValidationErrorItem](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/ValidationErrorItem.md) - [VoiceInstantTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/VoiceInstantTest.md) diff --git a/thousandeyes-sdk-tests/docs/AgentResponse.md b/thousandeyes-sdk-tests/docs/AgentResponse.md index 214a9a8e..b076d2c8 100644 --- a/thousandeyes-sdk-tests/docs/AgentResponse.md +++ b/thousandeyes-sdk-tests/docs/AgentResponse.md @@ -13,9 +13,10 @@ Name | Type | Description | Notes **location** | **str** | Location of the agent. | [optional] [readonly] **country_id** | **str** | 2-digit ISO country code | [optional] [readonly] **coordinates** | [**Coordinates**](Coordinates.md) | | [optional] +**network_provider_info** | [**NetworkProviderInfo**](NetworkProviderInfo.md) | | [optional] [readonly] **enabled** | **bool** | Flag indicating if the agent is enabled. | [optional] -**prefix** | **str** | Prefix containing agents public IP address. | [optional] [readonly] **verify_ssl_certificates** | **bool** | Flag indicating if has normal SSL operations or if instead it's set to ignore SSL errors on browserbot-based tests. | [optional] [readonly] +**prefix** | **str** | Prefix containing agents public IP address. | [optional] [readonly] **agent_type** | [**CloudEnterpriseAgentType**](CloudEnterpriseAgentType.md) | | ## Example diff --git a/thousandeyes-sdk-tests/docs/AgentToAgentTestRequest.md b/thousandeyes-sdk-tests/docs/AgentToAgentTestRequest.md index 59e0c756..7b3fc019 100644 --- a/thousandeyes-sdk-tests/docs/AgentToAgentTestRequest.md +++ b/thousandeyes-sdk-tests/docs/AgentToAgentTestRequest.md @@ -8,7 +8,6 @@ Name | Type | Description | Notes **interval** | [**TestInterval**](TestInterval.md) | | **alerts_enabled** | **bool** | Indicates if alerts are enabled. | [optional] **enabled** | **bool** | Test is enabled. | [optional] [default to True] -**alert_rules** | **List[str]** | List of alert rules IDs to apply to the test (get `ruleId` from `/alerts/rules` endpoint. If `alertsEnabled` is set to `true` and `alertRules` is not included on test creation or update, applicable user default alert rules will be used) | [optional] **created_by** | **str** | User that created the test. | [optional] [readonly] **created_date** | **datetime** | UTC created date (ISO date-time format). | [optional] [readonly] **description** | **str** | A description of the test. | [optional] @@ -20,8 +19,6 @@ Name | Type | Description | Notes **test_name** | **str** | The name of the test. Test name must be unique. | [optional] **type** | **str** | | [optional] [readonly] **links** | [**TestLinks**](TestLinks.md) | | [optional] -**labels** | **List[str]** | Contains list of test label IDs (get `labelId` from `/labels` endpoint) | [optional] -**shared_with_accounts** | **List[str]** | Contains list of account group IDs. Test is shared with the listed account groups (get `aid` from `/account-groups` endpoint) | [optional] **direction** | [**TestDirection**](TestDirection.md) | | [optional] **dscp** | **str** | DSCP label. | [optional] [readonly] **dscp_id** | [**TestDscpId**](TestDscpId.md) | | [optional] @@ -38,9 +35,12 @@ Name | Type | Description | Notes **fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] **bgp_measurements** | **bool** | Set to `true` to enable bgp measurements. | [optional] [default to True] **use_public_bgp** | **bool** | Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value. | [optional] [default to True] -**monitors** | **List[str]** | Contains list of BGP monitor IDs (get `monitorId` from `/monitors` endpoint) | [optional] +**labels** | **List[str]** | Contains list of test label IDs (get `labelId` from `/labels` endpoint) | [optional] **tags** | **List[str]** | Contains list of test tag IDs (get `id` from `/tags` endpoint). | [optional] +**shared_with_accounts** | **List[str]** | Contains list of account group IDs. Test is shared with the listed account groups (get `aid` from `/account-groups` endpoint) | [optional] +**alert_rules** | **List[str]** | List of alert rules IDs to apply to the test (get `ruleId` from `/alerts/rules` endpoint. If `alertsEnabled` is set to `true` and `alertRules` is not included on test creation or update, applicable user default alert rules will be used) | [optional] **agents** | [**List[TestAgentRequest]**](TestAgentRequest.md) | Contains list of Agent IDs (get `agentId` from `/agents` endpoint). | +**monitors** | **List[str]** | Contains list of BGP monitor IDs (get `monitorId` from `/monitors` endpoint) | [optional] ## Example diff --git a/thousandeyes-sdk-tests/docs/AgentToServerTestRequest.md b/thousandeyes-sdk-tests/docs/AgentToServerTestRequest.md index c4d50fc3..79cfcf02 100644 --- a/thousandeyes-sdk-tests/docs/AgentToServerTestRequest.md +++ b/thousandeyes-sdk-tests/docs/AgentToServerTestRequest.md @@ -8,7 +8,6 @@ Name | Type | Description | Notes **interval** | [**TestInterval**](TestInterval.md) | | **alerts_enabled** | **bool** | Indicates if alerts are enabled. | [optional] **enabled** | **bool** | Test is enabled. | [optional] [default to True] -**alert_rules** | **List[str]** | List of alert rules IDs to apply to the test (get `ruleId` from `/alerts/rules` endpoint. If `alertsEnabled` is set to `true` and `alertRules` is not included on test creation or update, applicable user default alert rules will be used) | [optional] **created_by** | **str** | User that created the test. | [optional] [readonly] **created_date** | **datetime** | UTC created date (ISO date-time format). | [optional] [readonly] **description** | **str** | A description of the test. | [optional] @@ -20,8 +19,6 @@ Name | Type | Description | Notes **test_name** | **str** | The name of the test. Test name must be unique. | [optional] **type** | **str** | | [optional] [readonly] **links** | [**TestLinks**](TestLinks.md) | | [optional] -**labels** | **List[str]** | Contains list of test label IDs (get `labelId` from `/labels` endpoint) | [optional] -**shared_with_accounts** | **List[str]** | Contains list of account group IDs. Test is shared with the listed account groups (get `aid` from `/account-groups` endpoint) | [optional] **bandwidth_measurements** | **bool** | Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test. | [optional] **continuous_mode** | **bool** | To enable continuous monitoring, set this parameter to `true` to. When continuous monitoring is enabled, the following actions occur: * `fixedPacketRate` is enforced * `bandwidthMeasurements` are disabled * If the `protocol` is set to `tcp`, `probeMode` is set to `syn`. | [optional] **fixed_packet_rate** | **int** | If continuousMode is `false`, set the fixedPacketRate to a value between 10-100. If `continuousMode` is `true`, set the `fixedPacketRate` to `1` | [optional] @@ -39,9 +36,12 @@ Name | Type | Description | Notes **network_measurements** | **bool** | View packet loss in 1-second intervals. This is only available for 1-minute interval tests. Set to `true` to enable network measurements. | [optional] [default to False] **bgp_measurements** | **bool** | Set to `true` to enable bgp measurements. | [optional] [default to True] **use_public_bgp** | **bool** | Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value. | [optional] [default to True] -**monitors** | **List[str]** | Contains list of BGP monitor IDs (get `monitorId` from `/monitors` endpoint) | [optional] +**labels** | **List[str]** | Contains list of test label IDs (get `labelId` from `/labels` endpoint) | [optional] **tags** | **List[str]** | Contains list of test tag IDs (get `id` from `/tags` endpoint). | [optional] +**shared_with_accounts** | **List[str]** | Contains list of account group IDs. Test is shared with the listed account groups (get `aid` from `/account-groups` endpoint) | [optional] +**alert_rules** | **List[str]** | List of alert rules IDs to apply to the test (get `ruleId` from `/alerts/rules` endpoint. If `alertsEnabled` is set to `true` and `alertRules` is not included on test creation or update, applicable user default alert rules will be used) | [optional] **agents** | [**List[TestAgentRequest]**](TestAgentRequest.md) | Contains list of Agent IDs (get `agentId` from `/agents` endpoint). | +**monitors** | **List[str]** | Contains list of BGP monitor IDs (get `monitorId` from `/monitors` endpoint) | [optional] **port** | **int** | Port number to use for the test. The default port is 80. | [optional] ## Example diff --git a/thousandeyes-sdk-tests/docs/ApiInstantTest.md b/thousandeyes-sdk-tests/docs/ApiInstantTest.md index d3fec024..a8cabb1d 100644 --- a/thousandeyes-sdk-tests/docs/ApiInstantTest.md +++ b/thousandeyes-sdk-tests/docs/ApiInstantTest.md @@ -39,6 +39,7 @@ Name | Type | Description | Notes **time_limit** | **int** | Time limit for transaction in seconds. Exceeding this limit will result in a Timeout error. | [optional] [default to 30] **url** | **str** | Target for the test. | **credentials** | **List[str]** | Contains a list of credential IDs (get `credentialId` from `/credentials` endpoint). | [optional] +**vault_credentials** | [**List[TestVaultCredential]**](TestVaultCredential.md) | List of credential IDs that are stored in an external vault. | [optional] ## Example diff --git a/thousandeyes-sdk-tests/docs/ApiTest.md b/thousandeyes-sdk-tests/docs/ApiTest.md index f2c42570..d00fddd9 100644 --- a/thousandeyes-sdk-tests/docs/ApiTest.md +++ b/thousandeyes-sdk-tests/docs/ApiTest.md @@ -43,6 +43,7 @@ Name | Type | Description | Notes **time_limit** | **int** | Time limit for transaction in seconds. Exceeding this limit will result in a Timeout error. | [optional] [default to 30] **url** | **str** | Target for the test. | **credentials** | **List[str]** | Contains a list of credential IDs (get `credentialId` from `/credentials` endpoint). | [optional] +**vault_credentials** | [**List[TestVaultCredential]**](TestVaultCredential.md) | List of credential IDs that are stored in an external vault. | [optional] **bgp_measurements** | **bool** | Set to `true` to enable bgp measurements. | [optional] [default to True] **use_public_bgp** | **bool** | Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value. | [optional] [default to True] **monitors** | [**List[Monitor]**](Monitor.md) | Contains list of enabled BGP monitors. | [optional] [readonly] diff --git a/thousandeyes-sdk-tests/docs/ApiTestRequest.md b/thousandeyes-sdk-tests/docs/ApiTestRequest.md index 92d1a95d..a53ae093 100644 --- a/thousandeyes-sdk-tests/docs/ApiTestRequest.md +++ b/thousandeyes-sdk-tests/docs/ApiTestRequest.md @@ -8,7 +8,6 @@ Name | Type | Description | Notes **interval** | [**TestInterval**](TestInterval.md) | | **alerts_enabled** | **bool** | Indicates if alerts are enabled. | [optional] **enabled** | **bool** | Test is enabled. | [optional] [default to True] -**alert_rules** | **List[str]** | List of alert rules IDs to apply to the test (get `ruleId` from `/alerts/rules` endpoint. If `alertsEnabled` is set to `true` and `alertRules` is not included on test creation or update, applicable user default alert rules will be used) | [optional] **created_by** | **str** | User that created the test. | [optional] [readonly] **created_date** | **datetime** | UTC created date (ISO date-time format). | [optional] [readonly] **description** | **str** | A description of the test. | [optional] @@ -20,8 +19,6 @@ Name | Type | Description | Notes **test_name** | **str** | The name of the test. Test name must be unique. | [optional] **type** | **str** | | [optional] [readonly] **links** | [**TestLinks**](TestLinks.md) | | [optional] -**labels** | **List[str]** | Contains list of test label IDs (get `labelId` from `/labels` endpoint) | [optional] -**shared_with_accounts** | **List[str]** | Contains list of account group IDs. Test is shared with the listed account groups (get `aid` from `/account-groups` endpoint) | [optional] **client_certificate** | **str** | String representation (containing newline characters) of client certificate, the private key must be placed first, then the certificate. | [optional] **client_cert_domains_allow_list** | **str** | Comma separated list of domains to send the client certificate. | [optional] **collect_proxy_network_data** | **bool** | Indicates whether network data to the proxy should be collected. | [optional] [default to False] @@ -42,12 +39,16 @@ Name | Type | Description | Notes **target_time** | **int** | Target time for completion metric, defaults to 50% of time limit specified in seconds. (0 means default behavior) | [optional] **time_limit** | **int** | Time limit for transaction in seconds. Exceeding this limit will result in a Timeout error. | [optional] [default to 30] **url** | **str** | Target for the test. | -**credentials** | **List[str]** | Contains a list of credential IDs (get `credentialId` from `/credentials` endpoint). | [optional] **bgp_measurements** | **bool** | Set to `true` to enable bgp measurements. | [optional] [default to True] **use_public_bgp** | **bool** | Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value. | [optional] [default to True] -**monitors** | [**List[Monitor]**](Monitor.md) | Contains list of enabled BGP monitors. | [optional] [readonly] +**labels** | **List[str]** | Contains list of test label IDs (get `labelId` from `/labels` endpoint) | [optional] **tags** | **List[str]** | Contains list of test tag IDs (get `id` from `/tags` endpoint). | [optional] +**shared_with_accounts** | **List[str]** | Contains list of account group IDs. Test is shared with the listed account groups (get `aid` from `/account-groups` endpoint) | [optional] +**alert_rules** | **List[str]** | List of alert rules IDs to apply to the test (get `ruleId` from `/alerts/rules` endpoint. If `alertsEnabled` is set to `true` and `alertRules` is not included on test creation or update, applicable user default alert rules will be used) | [optional] **agents** | [**List[TestAgentRequest]**](TestAgentRequest.md) | Contains list of Agent IDs (get `agentId` from `/agents` endpoint). | +**monitors** | **List[str]** | Contains list of BGP monitor IDs (get `monitorId` from `/monitors` endpoint) | [optional] +**credentials** | **List[str]** | Contains a list of credential IDs (get `credentialId` from `/credentials` endpoint). | [optional] +**vault_credentials** | [**List[TestVaultCredential]**](TestVaultCredential.md) | List of credential IDs that are stored in an external vault. | [optional] ## Example diff --git a/thousandeyes-sdk-tests/docs/ApiTestResponse.md b/thousandeyes-sdk-tests/docs/ApiTestResponse.md index ff229c8c..4ab58675 100644 --- a/thousandeyes-sdk-tests/docs/ApiTestResponse.md +++ b/thousandeyes-sdk-tests/docs/ApiTestResponse.md @@ -43,6 +43,7 @@ Name | Type | Description | Notes **time_limit** | **int** | Time limit for transaction in seconds. Exceeding this limit will result in a Timeout error. | [optional] [default to 30] **url** | **str** | Target for the test. | **credentials** | **List[str]** | Contains a list of credential IDs (get `credentialId` from `/credentials` endpoint). | [optional] +**vault_credentials** | [**List[TestVaultCredential]**](TestVaultCredential.md) | List of credential IDs that are stored in an external vault. | [optional] **bgp_measurements** | **bool** | Set to `true` to enable bgp measurements. | [optional] [default to True] **use_public_bgp** | **bool** | Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value. | [optional] [default to True] **monitors** | [**List[Monitor]**](Monitor.md) | Contains list of enabled BGP monitors. | [optional] [readonly] diff --git a/thousandeyes-sdk-tests/docs/BaseBgpRequest.md b/thousandeyes-sdk-tests/docs/BaseBgpRequest.md new file mode 100644 index 00000000..c587dfe5 --- /dev/null +++ b/thousandeyes-sdk-tests/docs/BaseBgpRequest.md @@ -0,0 +1,43 @@ +# BaseBgpRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**created_by** | **str** | User that created the test. | [optional] [readonly] +**created_date** | **datetime** | UTC created date (ISO date-time format). | [optional] [readonly] +**description** | **str** | A description of the test. | [optional] +**live_share** | **bool** | Indicates if the test is shared with the account group. | [optional] [readonly] +**modified_by** | **str** | User that modified the test. | [optional] [readonly] +**modified_date** | **datetime** | UTC last modification date (ISO date-time format). | [optional] [readonly] +**saved_event** | **bool** | Indicates if the test is a saved event. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API. | [optional] [readonly] +**test_id** | **str** | Each test is assigned an unique ID; this is used to access test information and results from other endpoints. | [optional] [readonly] +**test_name** | **str** | The name of the test. Test name must be unique. | [optional] +**type** | **str** | | [optional] [readonly] +**links** | [**TestLinks**](TestLinks.md) | | [optional] +**enabled** | **bool** | Test is enabled. | [optional] [default to True] +**include_covered_prefixes** | **bool** | Indicate if queries for subprefixes detected under this prefix should included. | [optional] +**use_public_bgp** | **bool** | Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value. | [optional] [default to True] +**alerts_enabled** | **bool** | Indicates if alerts are enabled. | [optional] + +## Example + +```python +from thousandeyes_sdk.tests.models.base_bgp_request import BaseBgpRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of BaseBgpRequest from a JSON string +base_bgp_request_instance = BaseBgpRequest.from_json(json) +# print the JSON string representation of the object +print(BaseBgpRequest.to_json()) + +# convert the object into a dict +base_bgp_request_dict = base_bgp_request_instance.to_dict() +# create an instance of BaseBgpRequest from a dict +base_bgp_request_from_dict = BaseBgpRequest.from_dict(base_bgp_request_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/thousandeyes-sdk-tests/docs/BgpTestRequest.md b/thousandeyes-sdk-tests/docs/BgpTestRequest.md index baf09c84..5c4d5554 100644 --- a/thousandeyes-sdk-tests/docs/BgpTestRequest.md +++ b/thousandeyes-sdk-tests/docs/BgpTestRequest.md @@ -16,16 +16,16 @@ Name | Type | Description | Notes **test_name** | **str** | The name of the test. Test name must be unique. | [optional] **type** | **str** | | [optional] [readonly] **links** | [**TestLinks**](TestLinks.md) | | [optional] -**labels** | **List[str]** | Contains list of test label IDs (get `labelId` from `/labels` endpoint) | [optional] -**shared_with_accounts** | **List[str]** | Contains list of account group IDs. Test is shared with the listed account groups (get `aid` from `/account-groups` endpoint) | [optional] **enabled** | **bool** | Test is enabled. | [optional] [default to True] -**monitors** | **List[str]** | Contains list of BGP monitor IDs (get `monitorId` from `/monitors` endpoint) | [optional] **include_covered_prefixes** | **bool** | Indicate if queries for subprefixes detected under this prefix should included. | [optional] **use_public_bgp** | **bool** | Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value. | [optional] [default to True] **alerts_enabled** | **bool** | Indicates if alerts are enabled. | [optional] -**alert_rules** | **List[str]** | List of alert rules IDs to apply to the test (get `ruleId` from `/alerts/rules` endpoint. If `alertsEnabled` is set to `true` and `alertRules` is not included on test creation or update, applicable user default alert rules will be used) | [optional] **prefix** | **str** | a.b.c.d is a network address, with the prefix length defined as e. Prefixes can be any length from 8 to 24. | +**labels** | **List[str]** | Contains list of test label IDs (get `labelId` from `/labels` endpoint) | [optional] **tags** | **List[str]** | Contains list of test tag IDs (get `id` from `/tags` endpoint). | [optional] +**shared_with_accounts** | **List[str]** | Contains list of account group IDs. Test is shared with the listed account groups (get `aid` from `/account-groups` endpoint) | [optional] +**alert_rules** | **List[str]** | List of alert rules IDs to apply to the test (get `ruleId` from `/alerts/rules` endpoint. If `alertsEnabled` is set to `true` and `alertRules` is not included on test creation or update, applicable user default alert rules will be used) | [optional] +**monitors** | **List[str]** | Contains list of BGP monitor IDs (get `monitorId` from `/monitors` endpoint) | [optional] ## Example diff --git a/thousandeyes-sdk-tests/docs/DnsSecTestRequest.md b/thousandeyes-sdk-tests/docs/DnsSecTestRequest.md index 1091282d..9bac0bd6 100644 --- a/thousandeyes-sdk-tests/docs/DnsSecTestRequest.md +++ b/thousandeyes-sdk-tests/docs/DnsSecTestRequest.md @@ -8,7 +8,6 @@ Name | Type | Description | Notes **interval** | [**TestInterval**](TestInterval.md) | | **alerts_enabled** | **bool** | Indicates if alerts are enabled. | [optional] **enabled** | **bool** | Test is enabled. | [optional] [default to True] -**alert_rules** | **List[str]** | List of alert rules IDs to apply to the test (get `ruleId` from `/alerts/rules` endpoint. If `alertsEnabled` is set to `true` and `alertRules` is not included on test creation or update, applicable user default alert rules will be used) | [optional] **created_by** | **str** | User that created the test. | [optional] [readonly] **created_date** | **datetime** | UTC created date (ISO date-time format). | [optional] [readonly] **description** | **str** | A description of the test. | [optional] @@ -20,12 +19,13 @@ Name | Type | Description | Notes **test_name** | **str** | The name of the test. Test name must be unique. | [optional] **type** | **str** | | [optional] [readonly] **links** | [**TestLinks**](TestLinks.md) | | [optional] -**labels** | **List[str]** | Contains list of test label IDs (get `labelId` from `/labels` endpoint) | [optional] -**shared_with_accounts** | **List[str]** | Contains list of account group IDs. Test is shared with the listed account groups (get `aid` from `/account-groups` endpoint) | [optional] **domain** | **str** | The target record for the test, with the record type suffixed. If no record type is specified, the test defaults to an ANY record. | **dns_query_class** | [**DnsQueryClass**](DnsQueryClass.md) | | [optional] **randomized_start_time** | **bool** | Indicates whether agents should randomize the start time in each test round. | [optional] [default to False] +**labels** | **List[str]** | Contains list of test label IDs (get `labelId` from `/labels` endpoint) | [optional] **tags** | **List[str]** | Contains list of test tag IDs (get `id` from `/tags` endpoint). | [optional] +**shared_with_accounts** | **List[str]** | Contains list of account group IDs. Test is shared with the listed account groups (get `aid` from `/account-groups` endpoint) | [optional] +**alert_rules** | **List[str]** | List of alert rules IDs to apply to the test (get `ruleId` from `/alerts/rules` endpoint. If `alertsEnabled` is set to `true` and `alertRules` is not included on test creation or update, applicable user default alert rules will be used) | [optional] **agents** | [**List[TestAgentRequest]**](TestAgentRequest.md) | Contains list of Agent IDs (get `agentId` from `/agents` endpoint). | ## Example diff --git a/thousandeyes-sdk-tests/docs/DnsServerRequestProperties.md b/thousandeyes-sdk-tests/docs/DnsServerRequestProperties.md new file mode 100644 index 00000000..3b08f2ad --- /dev/null +++ b/thousandeyes-sdk-tests/docs/DnsServerRequestProperties.md @@ -0,0 +1,44 @@ +# DnsServerRequestProperties + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**bandwidth_measurements** | **bool** | Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test. | [optional] +**dns_servers** | **List[str]** | A list of DNS server FQDN. | +**dns_transport_protocol** | [**TestDnsTransportProtocol**](TestDnsTransportProtocol.md) | | [optional] +**domain** | **str** | The target record for the test, with the record type suffixed. If no record type is specified, the test defaults to an ANY record. | +**mtu_measurements** | **bool** | Set `true` to measure MTU sizes on network from agents to the target. | [optional] +**network_measurements** | **bool** | Enable or disable network measurements. Set to true to enable or false to disable network measurements. | [optional] [default to True] +**num_path_traces** | **int** | Number of path traces executed by the agent. | [optional] [default to 3] +**path_trace_mode** | [**TestPathTraceMode**](TestPathTraceMode.md) | | [optional] +**probe_mode** | [**TestProbeMode**](TestProbeMode.md) | | [optional] +**protocol** | [**TestProtocol**](TestProtocol.md) | | [optional] +**randomized_start_time** | **bool** | Indicates whether agents should randomize the start time in each test round. | [optional] [default to False] +**recursive_queries** | **bool** | Set true to run query with RD (recursion desired) flag enabled. | [optional] +**ipv6_policy** | [**TestIpv6Policy**](TestIpv6Policy.md) | | [optional] +**fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] +**dns_query_class** | [**DnsQueryClass**](DnsQueryClass.md) | | [optional] +**type** | **str** | | [optional] [readonly] + +## Example + +```python +from thousandeyes_sdk.tests.models.dns_server_request_properties import DnsServerRequestProperties + +# TODO update the JSON string below +json = "{}" +# create an instance of DnsServerRequestProperties from a JSON string +dns_server_request_properties_instance = DnsServerRequestProperties.from_json(json) +# print the JSON string representation of the object +print(DnsServerRequestProperties.to_json()) + +# convert the object into a dict +dns_server_request_properties_dict = dns_server_request_properties_instance.to_dict() +# create an instance of DnsServerRequestProperties from a dict +dns_server_request_properties_from_dict = DnsServerRequestProperties.from_dict(dns_server_request_properties_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/thousandeyes-sdk-tests/docs/DnsServerTestRequest.md b/thousandeyes-sdk-tests/docs/DnsServerTestRequest.md index e8032ac8..67f4afec 100644 --- a/thousandeyes-sdk-tests/docs/DnsServerTestRequest.md +++ b/thousandeyes-sdk-tests/docs/DnsServerTestRequest.md @@ -8,7 +8,6 @@ Name | Type | Description | Notes **interval** | [**TestInterval**](TestInterval.md) | | **alerts_enabled** | **bool** | Indicates if alerts are enabled. | [optional] **enabled** | **bool** | Test is enabled. | [optional] [default to True] -**alert_rules** | **List[str]** | List of alert rules IDs to apply to the test (get `ruleId` from `/alerts/rules` endpoint. If `alertsEnabled` is set to `true` and `alertRules` is not included on test creation or update, applicable user default alert rules will be used) | [optional] **created_by** | **str** | User that created the test. | [optional] [readonly] **created_date** | **datetime** | UTC created date (ISO date-time format). | [optional] [readonly] **description** | **str** | A description of the test. | [optional] @@ -20,8 +19,6 @@ Name | Type | Description | Notes **test_name** | **str** | The name of the test. Test name must be unique. | [optional] **type** | **str** | | [optional] [readonly] **links** | [**TestLinks**](TestLinks.md) | | [optional] -**labels** | **List[str]** | Contains list of test label IDs (get `labelId` from `/labels` endpoint) | [optional] -**shared_with_accounts** | **List[str]** | Contains list of account group IDs. Test is shared with the listed account groups (get `aid` from `/account-groups` endpoint) | [optional] **bandwidth_measurements** | **bool** | Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test. | [optional] **dns_servers** | **List[str]** | A list of DNS server FQDN. | **dns_transport_protocol** | [**TestDnsTransportProtocol**](TestDnsTransportProtocol.md) | | [optional] @@ -39,9 +36,12 @@ Name | Type | Description | Notes **dns_query_class** | [**DnsQueryClass**](DnsQueryClass.md) | | [optional] **bgp_measurements** | **bool** | Set to `true` to enable bgp measurements. | [optional] [default to True] **use_public_bgp** | **bool** | Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value. | [optional] [default to True] -**monitors** | **List[str]** | Contains list of BGP monitor IDs (get `monitorId` from `/monitors` endpoint) | [optional] +**labels** | **List[str]** | Contains list of test label IDs (get `labelId` from `/labels` endpoint) | [optional] **tags** | **List[str]** | Contains list of test tag IDs (get `id` from `/tags` endpoint). | [optional] +**shared_with_accounts** | **List[str]** | Contains list of account group IDs. Test is shared with the listed account groups (get `aid` from `/account-groups` endpoint) | [optional] +**alert_rules** | **List[str]** | List of alert rules IDs to apply to the test (get `ruleId` from `/alerts/rules` endpoint. If `alertsEnabled` is set to `true` and `alertRules` is not included on test creation or update, applicable user default alert rules will be used) | [optional] **agents** | [**List[TestAgentRequest]**](TestAgentRequest.md) | Contains list of Agent IDs (get `agentId` from `/agents` endpoint). | +**monitors** | **List[str]** | Contains list of BGP monitor IDs (get `monitorId` from `/monitors` endpoint) | [optional] ## Example diff --git a/thousandeyes-sdk-tests/docs/DnsServersRequest.md b/thousandeyes-sdk-tests/docs/DnsServersRequest.md deleted file mode 100644 index 5e941337..00000000 --- a/thousandeyes-sdk-tests/docs/DnsServersRequest.md +++ /dev/null @@ -1,29 +0,0 @@ -# DnsServersRequest - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**dns_servers** | **List[str]** | A list of DNS server FQDN. | [optional] - -## Example - -```python -from thousandeyes_sdk.tests.models.dns_servers_request import DnsServersRequest - -# TODO update the JSON string below -json = "{}" -# create an instance of DnsServersRequest from a JSON string -dns_servers_request_instance = DnsServersRequest.from_json(json) -# print the JSON string representation of the object -print(DnsServersRequest.to_json()) - -# convert the object into a dict -dns_servers_request_dict = dns_servers_request_instance.to_dict() -# create an instance of DnsServersRequest from a dict -dns_servers_request_from_dict = DnsServersRequest.from_dict(dns_servers_request_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/thousandeyes-sdk-tests/docs/DnsTraceTestRequest.md b/thousandeyes-sdk-tests/docs/DnsTraceTestRequest.md index 22c4c12e..d9b6a89a 100644 --- a/thousandeyes-sdk-tests/docs/DnsTraceTestRequest.md +++ b/thousandeyes-sdk-tests/docs/DnsTraceTestRequest.md @@ -8,7 +8,6 @@ Name | Type | Description | Notes **interval** | [**TestInterval**](TestInterval.md) | | **alerts_enabled** | **bool** | Indicates if alerts are enabled. | [optional] **enabled** | **bool** | Test is enabled. | [optional] [default to True] -**alert_rules** | **List[str]** | List of alert rules IDs to apply to the test (get `ruleId` from `/alerts/rules` endpoint. If `alertsEnabled` is set to `true` and `alertRules` is not included on test creation or update, applicable user default alert rules will be used) | [optional] **created_by** | **str** | User that created the test. | [optional] [readonly] **created_date** | **datetime** | UTC created date (ISO date-time format). | [optional] [readonly] **description** | **str** | A description of the test. | [optional] @@ -20,13 +19,14 @@ Name | Type | Description | Notes **test_name** | **str** | The name of the test. Test name must be unique. | [optional] **type** | **str** | | [optional] [readonly] **links** | [**TestLinks**](TestLinks.md) | | [optional] -**labels** | **List[str]** | Contains list of test label IDs (get `labelId` from `/labels` endpoint) | [optional] -**shared_with_accounts** | **List[str]** | Contains list of account group IDs. Test is shared with the listed account groups (get `aid` from `/account-groups` endpoint) | [optional] **dns_transport_protocol** | [**TestDnsTransportProtocol**](TestDnsTransportProtocol.md) | | [optional] **domain** | **str** | The target record for the test, with the record type suffixed. If no record type is specified, the test defaults to an ANY record. | **dns_query_class** | [**DnsQueryClass**](DnsQueryClass.md) | | [optional] **randomized_start_time** | **bool** | Indicates whether agents should randomize the start time in each test round. | [optional] [default to False] +**labels** | **List[str]** | Contains list of test label IDs (get `labelId` from `/labels` endpoint) | [optional] **tags** | **List[str]** | Contains list of test tag IDs (get `id` from `/tags` endpoint). | [optional] +**shared_with_accounts** | **List[str]** | Contains list of account group IDs. Test is shared with the listed account groups (get `aid` from `/account-groups` endpoint) | [optional] +**alert_rules** | **List[str]** | List of alert rules IDs to apply to the test (get `ruleId` from `/alerts/rules` endpoint. If `alertsEnabled` is set to `true` and `alertRules` is not included on test creation or update, applicable user default alert rules will be used) | [optional] **agents** | [**List[TestAgentRequest]**](TestAgentRequest.md) | Contains list of Agent IDs (get `agentId` from `/agents` endpoint). | ## Example diff --git a/thousandeyes-sdk-tests/docs/FtpServerTestRequest.md b/thousandeyes-sdk-tests/docs/FtpServerTestRequest.md index 09410206..1d7e872f 100644 --- a/thousandeyes-sdk-tests/docs/FtpServerTestRequest.md +++ b/thousandeyes-sdk-tests/docs/FtpServerTestRequest.md @@ -8,7 +8,6 @@ Name | Type | Description | Notes **interval** | [**TestInterval**](TestInterval.md) | | **alerts_enabled** | **bool** | Indicates if alerts are enabled. | [optional] **enabled** | **bool** | Test is enabled. | [optional] [default to True] -**alert_rules** | **List[str]** | List of alert rules IDs to apply to the test (get `ruleId` from `/alerts/rules` endpoint. If `alertsEnabled` is set to `true` and `alertRules` is not included on test creation or update, applicable user default alert rules will be used) | [optional] **created_by** | **str** | User that created the test. | [optional] [readonly] **created_date** | **datetime** | UTC created date (ISO date-time format). | [optional] [readonly] **description** | **str** | A description of the test. | [optional] @@ -20,8 +19,6 @@ Name | Type | Description | Notes **test_name** | **str** | The name of the test. Test name must be unique. | [optional] **type** | **str** | | [optional] [readonly] **links** | [**TestLinks**](TestLinks.md) | | [optional] -**labels** | **List[str]** | Contains list of test label IDs (get `labelId` from `/labels` endpoint) | [optional] -**shared_with_accounts** | **List[str]** | Contains list of account group IDs. Test is shared with the listed account groups (get `aid` from `/account-groups` endpoint) | [optional] **bandwidth_measurements** | **bool** | Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test. | [optional] **download_limit** | **int** | Specify maximum number of bytes to download from the target object. | [optional] **ftp_target_time** | **int** | Target time for operation completion; specified in milliseconds. | [optional] @@ -43,9 +40,12 @@ Name | Type | Description | Notes **ipv6_policy** | [**TestIpv6Policy**](TestIpv6Policy.md) | | [optional] **bgp_measurements** | **bool** | Set to `true` to enable bgp measurements. | [optional] [default to True] **use_public_bgp** | **bool** | Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value. | [optional] [default to True] -**monitors** | **List[str]** | Contains list of BGP monitor IDs (get `monitorId` from `/monitors` endpoint) | [optional] +**labels** | **List[str]** | Contains list of test label IDs (get `labelId` from `/labels` endpoint) | [optional] **tags** | **List[str]** | Contains list of test tag IDs (get `id` from `/tags` endpoint). | [optional] +**shared_with_accounts** | **List[str]** | Contains list of account group IDs. Test is shared with the listed account groups (get `aid` from `/account-groups` endpoint) | [optional] +**alert_rules** | **List[str]** | List of alert rules IDs to apply to the test (get `ruleId` from `/alerts/rules` endpoint. If `alertsEnabled` is set to `true` and `alertRules` is not included on test creation or update, applicable user default alert rules will be used) | [optional] **agents** | [**List[TestAgentRequest]**](TestAgentRequest.md) | Contains list of Agent IDs (get `agentId` from `/agents` endpoint). | +**monitors** | **List[str]** | Contains list of BGP monitor IDs (get `monitorId` from `/monitors` endpoint) | [optional] ## Example diff --git a/thousandeyes-sdk-tests/docs/HttpServerBaseProperties.md b/thousandeyes-sdk-tests/docs/HttpServerBaseProperties.md index 5500f85f..aa21cfdf 100644 --- a/thousandeyes-sdk-tests/docs/HttpServerBaseProperties.md +++ b/thousandeyes-sdk-tests/docs/HttpServerBaseProperties.md @@ -40,6 +40,7 @@ Name | Type | Description | Notes **override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] **override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] **collect_proxy_network_data** | **bool** | Indicates whether network data to the proxy should be collected. | [optional] [default to False] +**vault_credentials** | [**List[TestVaultCredential]**](TestVaultCredential.md) | List of credential IDs that are stored in an external vault. | [optional] ## Example diff --git a/thousandeyes-sdk-tests/docs/HttpServerInstantTest.md b/thousandeyes-sdk-tests/docs/HttpServerInstantTest.md index 57316264..01885710 100644 --- a/thousandeyes-sdk-tests/docs/HttpServerInstantTest.md +++ b/thousandeyes-sdk-tests/docs/HttpServerInstantTest.md @@ -53,6 +53,7 @@ Name | Type | Description | Notes **override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] **override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] **collect_proxy_network_data** | **bool** | Indicates whether network data to the proxy should be collected. | [optional] [default to False] +**vault_credentials** | [**List[TestVaultCredential]**](TestVaultCredential.md) | List of credential IDs that are stored in an external vault. | [optional] **headers** | **List[str]** | HTTP request headers used. | [optional] **randomized_start_time** | **bool** | Indicates whether agents should randomize the start time in each test round. | [optional] [default to False] **post_body** | **str** | Enter the body for the HTTP POST request in this field. No special escaping is necessary. If the post body is provided with content, the `requestMethod` is automatically set to POST. | [optional] diff --git a/thousandeyes-sdk-tests/docs/HttpServerProperties.md b/thousandeyes-sdk-tests/docs/HttpServerProperties.md index 52aa2599..7198a55e 100644 --- a/thousandeyes-sdk-tests/docs/HttpServerProperties.md +++ b/thousandeyes-sdk-tests/docs/HttpServerProperties.md @@ -40,6 +40,7 @@ Name | Type | Description | Notes **override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] **override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] **collect_proxy_network_data** | **bool** | Indicates whether network data to the proxy should be collected. | [optional] [default to False] +**vault_credentials** | [**List[TestVaultCredential]**](TestVaultCredential.md) | List of credential IDs that are stored in an external vault. | [optional] **headers** | **List[str]** | HTTP request headers used. | [optional] **randomized_start_time** | **bool** | Indicates whether agents should randomize the start time in each test round. | [optional] [default to False] **post_body** | **str** | Enter the body for the HTTP POST request in this field. No special escaping is necessary. If the post body is provided with content, the `requestMethod` is automatically set to POST. | [optional] diff --git a/thousandeyes-sdk-tests/docs/HttpServerTest.md b/thousandeyes-sdk-tests/docs/HttpServerTest.md index 5d24b8bd..0dd7e227 100644 --- a/thousandeyes-sdk-tests/docs/HttpServerTest.md +++ b/thousandeyes-sdk-tests/docs/HttpServerTest.md @@ -57,6 +57,7 @@ Name | Type | Description | Notes **override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] **override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] **collect_proxy_network_data** | **bool** | Indicates whether network data to the proxy should be collected. | [optional] [default to False] +**vault_credentials** | [**List[TestVaultCredential]**](TestVaultCredential.md) | List of credential IDs that are stored in an external vault. | [optional] **headers** | **List[str]** | HTTP request headers used. | [optional] **randomized_start_time** | **bool** | Indicates whether agents should randomize the start time in each test round. | [optional] [default to False] **post_body** | **str** | Enter the body for the HTTP POST request in this field. No special escaping is necessary. If the post body is provided with content, the `requestMethod` is automatically set to POST. | [optional] diff --git a/thousandeyes-sdk-tests/docs/HttpServerTestRequest.md b/thousandeyes-sdk-tests/docs/HttpServerTestRequest.md index 3895da49..2395b8c2 100644 --- a/thousandeyes-sdk-tests/docs/HttpServerTestRequest.md +++ b/thousandeyes-sdk-tests/docs/HttpServerTestRequest.md @@ -8,7 +8,6 @@ Name | Type | Description | Notes **interval** | [**TestInterval**](TestInterval.md) | | **alerts_enabled** | **bool** | Indicates if alerts are enabled. | [optional] **enabled** | **bool** | Test is enabled. | [optional] [default to True] -**alert_rules** | **List[str]** | List of alert rules IDs to apply to the test (get `ruleId` from `/alerts/rules` endpoint. If `alertsEnabled` is set to `true` and `alertRules` is not included on test creation or update, applicable user default alert rules will be used) | [optional] **created_by** | **str** | User that created the test. | [optional] [readonly] **created_date** | **datetime** | UTC created date (ISO date-time format). | [optional] [readonly] **description** | **str** | A description of the test. | [optional] @@ -20,8 +19,6 @@ Name | Type | Description | Notes **test_name** | **str** | The name of the test. Test name must be unique. | [optional] **type** | **str** | | [optional] [readonly] **links** | [**TestLinks**](TestLinks.md) | | [optional] -**labels** | **List[str]** | Contains list of test label IDs (get `labelId` from `/labels` endpoint) | [optional] -**shared_with_accounts** | **List[str]** | Contains list of account group IDs. Test is shared with the listed account groups (get `aid` from `/account-groups` endpoint) | [optional] **auth_type** | [**TestAuthType**](TestAuthType.md) | | [optional] **agent_interfaces** | [**AgentInterfaces**](AgentInterfaces.md) | | [optional] **bandwidth_measurements** | **bool** | Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test. | [optional] @@ -57,15 +54,19 @@ Name | Type | Description | Notes **override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] **override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] **collect_proxy_network_data** | **bool** | Indicates whether network data to the proxy should be collected. | [optional] [default to False] +**vault_credentials** | [**List[TestVaultCredential]**](TestVaultCredential.md) | List of credential IDs that are stored in an external vault. | [optional] **headers** | **List[str]** | HTTP request headers used. | [optional] **randomized_start_time** | **bool** | Indicates whether agents should randomize the start time in each test round. | [optional] [default to False] **post_body** | **str** | Enter the body for the HTTP POST request in this field. No special escaping is necessary. If the post body is provided with content, the `requestMethod` is automatically set to POST. | [optional] **ipv6_policy** | [**TestIpv6Policy**](TestIpv6Policy.md) | | [optional] **bgp_measurements** | **bool** | Set to `true` to enable bgp measurements. | [optional] [default to True] **use_public_bgp** | **bool** | Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value. | [optional] [default to True] -**monitors** | **List[str]** | Contains list of BGP monitor IDs (get `monitorId` from `/monitors` endpoint) | [optional] +**labels** | **List[str]** | Contains list of test label IDs (get `labelId` from `/labels` endpoint) | [optional] **tags** | **List[str]** | Contains list of test tag IDs (get `id` from `/tags` endpoint). | [optional] +**shared_with_accounts** | **List[str]** | Contains list of account group IDs. Test is shared with the listed account groups (get `aid` from `/account-groups` endpoint) | [optional] +**alert_rules** | **List[str]** | List of alert rules IDs to apply to the test (get `ruleId` from `/alerts/rules` endpoint. If `alertsEnabled` is set to `true` and `alertRules` is not included on test creation or update, applicable user default alert rules will be used) | [optional] **agents** | [**List[TestAgentRequest]**](TestAgentRequest.md) | Contains list of Agent IDs (get `agentId` from `/agents` endpoint). | +**monitors** | **List[str]** | Contains list of BGP monitor IDs (get `monitorId` from `/monitors` endpoint) | [optional] ## Example diff --git a/thousandeyes-sdk-tests/docs/HttpServerTestResponse.md b/thousandeyes-sdk-tests/docs/HttpServerTestResponse.md index deaf9f8a..5cdc2d00 100644 --- a/thousandeyes-sdk-tests/docs/HttpServerTestResponse.md +++ b/thousandeyes-sdk-tests/docs/HttpServerTestResponse.md @@ -57,6 +57,7 @@ Name | Type | Description | Notes **override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] **override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] **collect_proxy_network_data** | **bool** | Indicates whether network data to the proxy should be collected. | [optional] [default to False] +**vault_credentials** | [**List[TestVaultCredential]**](TestVaultCredential.md) | List of credential IDs that are stored in an external vault. | [optional] **headers** | **List[str]** | HTTP request headers used. | [optional] **randomized_start_time** | **bool** | Indicates whether agents should randomize the start time in each test round. | [optional] [default to False] **post_body** | **str** | Enter the body for the HTTP POST request in this field. No special escaping is necessary. If the post body is provided with content, the `requestMethod` is automatically set to POST. | [optional] diff --git a/thousandeyes-sdk-tests/docs/NetworkProviderInfo.md b/thousandeyes-sdk-tests/docs/NetworkProviderInfo.md new file mode 100644 index 00000000..9ba2a3f5 --- /dev/null +++ b/thousandeyes-sdk-tests/docs/NetworkProviderInfo.md @@ -0,0 +1,32 @@ +# NetworkProviderInfo + +Information about the network provider that owns the agent's public IP prefix. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**asn** | **int** | Autonomous System Number (ASN) announcing the agent's public IP prefix. | [optional] [readonly] +**name** | **str** | Name of the network provider organization. | [optional] [readonly] +**type** | [**NetworkProviderType**](NetworkProviderType.md) | | [optional] + +## Example + +```python +from thousandeyes_sdk.tests.models.network_provider_info import NetworkProviderInfo + +# TODO update the JSON string below +json = "{}" +# create an instance of NetworkProviderInfo from a JSON string +network_provider_info_instance = NetworkProviderInfo.from_json(json) +# print the JSON string representation of the object +print(NetworkProviderInfo.to_json()) + +# convert the object into a dict +network_provider_info_dict = network_provider_info_instance.to_dict() +# create an instance of NetworkProviderInfo from a dict +network_provider_info_from_dict = NetworkProviderInfo.from_dict(network_provider_info_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/thousandeyes-sdk-dashboards/docs/ApiWidgetSortProperty.md b/thousandeyes-sdk-tests/docs/NetworkProviderType.md similarity index 79% rename from thousandeyes-sdk-dashboards/docs/ApiWidgetSortProperty.md rename to thousandeyes-sdk-tests/docs/NetworkProviderType.md index 7d2d34e7..efc6dd07 100644 --- a/thousandeyes-sdk-dashboards/docs/ApiWidgetSortProperty.md +++ b/thousandeyes-sdk-tests/docs/NetworkProviderType.md @@ -1,6 +1,6 @@ -# ApiWidgetSortProperty +# NetworkProviderType -Determines the card sorting criterion. +Classification of the agent's network provider. ## Properties diff --git a/thousandeyes-sdk-tests/docs/PageLoadInstantTest.md b/thousandeyes-sdk-tests/docs/PageLoadInstantTest.md index 6eb5602e..36ef047c 100644 --- a/thousandeyes-sdk-tests/docs/PageLoadInstantTest.md +++ b/thousandeyes-sdk-tests/docs/PageLoadInstantTest.md @@ -53,6 +53,7 @@ Name | Type | Description | Notes **override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] **override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] **collect_proxy_network_data** | **bool** | Indicates whether network data to the proxy should be collected. | [optional] [default to False] +**vault_credentials** | [**List[TestVaultCredential]**](TestVaultCredential.md) | List of credential IDs that are stored in an external vault. | [optional] **emulated_device_id** | **str** | ID of the emulated device, if one was given when the test was created. | [optional] **page_load_target_time** | **int** | Target time for page load completion, specified in seconds and cannot exceed the `pageLoadTimeLimit`. | [optional] **page_load_time_limit** | **int** | Page load time limit. Must be larger than the `httpTimeLimit`. | [optional] [default to 10] diff --git a/thousandeyes-sdk-tests/docs/PageLoadProperties.md b/thousandeyes-sdk-tests/docs/PageLoadProperties.md index bf0d3c87..5e77ae88 100644 --- a/thousandeyes-sdk-tests/docs/PageLoadProperties.md +++ b/thousandeyes-sdk-tests/docs/PageLoadProperties.md @@ -40,6 +40,7 @@ Name | Type | Description | Notes **override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] **override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] **collect_proxy_network_data** | **bool** | Indicates whether network data to the proxy should be collected. | [optional] [default to False] +**vault_credentials** | [**List[TestVaultCredential]**](TestVaultCredential.md) | List of credential IDs that are stored in an external vault. | [optional] **emulated_device_id** | **str** | ID of the emulated device, if one was given when the test was created. | [optional] **page_load_target_time** | **int** | Target time for page load completion, specified in seconds and cannot exceed the `pageLoadTimeLimit`. | [optional] **page_load_time_limit** | **int** | Page load time limit. Must be larger than the `httpTimeLimit`. | [optional] [default to 10] diff --git a/thousandeyes-sdk-tests/docs/PageLoadTest.md b/thousandeyes-sdk-tests/docs/PageLoadTest.md index e8991bc1..1c01803b 100644 --- a/thousandeyes-sdk-tests/docs/PageLoadTest.md +++ b/thousandeyes-sdk-tests/docs/PageLoadTest.md @@ -57,6 +57,7 @@ Name | Type | Description | Notes **override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] **override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] **collect_proxy_network_data** | **bool** | Indicates whether network data to the proxy should be collected. | [optional] [default to False] +**vault_credentials** | [**List[TestVaultCredential]**](TestVaultCredential.md) | List of credential IDs that are stored in an external vault. | [optional] **emulated_device_id** | **str** | ID of the emulated device, if one was given when the test was created. | [optional] **page_load_target_time** | **int** | Target time for page load completion, specified in seconds and cannot exceed the `pageLoadTimeLimit`. | [optional] **page_load_time_limit** | **int** | Page load time limit. Must be larger than the `httpTimeLimit`. | [optional] [default to 10] diff --git a/thousandeyes-sdk-tests/docs/PageLoadTestRequest.md b/thousandeyes-sdk-tests/docs/PageLoadTestRequest.md index 5dd6feca..64ad095c 100644 --- a/thousandeyes-sdk-tests/docs/PageLoadTestRequest.md +++ b/thousandeyes-sdk-tests/docs/PageLoadTestRequest.md @@ -8,7 +8,6 @@ Name | Type | Description | Notes **interval** | [**TestInterval**](TestInterval.md) | | **alerts_enabled** | **bool** | Indicates if alerts are enabled. | [optional] **enabled** | **bool** | Test is enabled. | [optional] [default to True] -**alert_rules** | **List[str]** | List of alert rules IDs to apply to the test (get `ruleId` from `/alerts/rules` endpoint. If `alertsEnabled` is set to `true` and `alertRules` is not included on test creation or update, applicable user default alert rules will be used) | [optional] **created_by** | **str** | User that created the test. | [optional] [readonly] **created_date** | **datetime** | UTC created date (ISO date-time format). | [optional] [readonly] **description** | **str** | A description of the test. | [optional] @@ -20,8 +19,6 @@ Name | Type | Description | Notes **test_name** | **str** | The name of the test. Test name must be unique. | [optional] **type** | **str** | | [optional] [readonly] **links** | [**TestLinks**](TestLinks.md) | | [optional] -**labels** | **List[str]** | Contains list of test label IDs (get `labelId` from `/labels` endpoint) | [optional] -**shared_with_accounts** | **List[str]** | Contains list of account group IDs. Test is shared with the listed account groups (get `aid` from `/account-groups` endpoint) | [optional] **auth_type** | [**TestAuthType**](TestAuthType.md) | | [optional] **agent_interfaces** | [**AgentInterfaces**](AgentInterfaces.md) | | [optional] **bandwidth_measurements** | **bool** | Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test. | [optional] @@ -57,6 +54,7 @@ Name | Type | Description | Notes **override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] **override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] **collect_proxy_network_data** | **bool** | Indicates whether network data to the proxy should be collected. | [optional] [default to False] +**vault_credentials** | [**List[TestVaultCredential]**](TestVaultCredential.md) | List of credential IDs that are stored in an external vault. | [optional] **emulated_device_id** | **str** | ID of the emulated device, if one was given when the test was created. | [optional] **page_load_target_time** | **int** | Target time for page load completion, specified in seconds and cannot exceed the `pageLoadTimeLimit`. | [optional] **page_load_time_limit** | **int** | Page load time limit. Must be larger than the `httpTimeLimit`. | [optional] [default to 10] @@ -70,13 +68,16 @@ Name | Type | Description | Notes **page_loading_strategy** | [**TestPageLoadingStrategy**](TestPageLoadingStrategy.md) | | [optional] **randomized_start_time** | **bool** | Indicates whether agents should randomize the start time in each test round. | [optional] [default to False] **identify_agent_traffic_with_user_agent** | **bool** | Determines how agent traffic is identified: * `false`: Adds the `x-thousandeyes-agent: yes` header. * `true`: Appends `(ThousandEyes Agent)` to the `user-agent` header. For more information, see [Notes on Agent ID Strategy](https://docs.thousandeyes.com/product-documentation/browser-synthetics/test-settings-page-load-transaction#notes-on-agent-id-strategy). | [optional] [default to False] -**bgp_measurements** | **bool** | Set to `true` to enable bgp measurements. | [optional] [default to True] -**use_public_bgp** | **bool** | Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value. | [optional] [default to True] -**monitors** | **List[str]** | Contains list of BGP monitor IDs (get `monitorId` from `/monitors` endpoint) | [optional] **http_interval** | [**TestHttpInterval**](TestHttpInterval.md) | | [optional] **subinterval** | [**TestSubInterval**](TestSubInterval.md) | | [optional] +**bgp_measurements** | **bool** | Set to `true` to enable bgp measurements. | [optional] [default to True] +**use_public_bgp** | **bool** | Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value. | [optional] [default to True] +**labels** | **List[str]** | Contains list of test label IDs (get `labelId` from `/labels` endpoint) | [optional] **tags** | **List[str]** | Contains list of test tag IDs (get `id` from `/tags` endpoint). | [optional] +**shared_with_accounts** | **List[str]** | Contains list of account group IDs. Test is shared with the listed account groups (get `aid` from `/account-groups` endpoint) | [optional] +**alert_rules** | **List[str]** | List of alert rules IDs to apply to the test (get `ruleId` from `/alerts/rules` endpoint. If `alertsEnabled` is set to `true` and `alertRules` is not included on test creation or update, applicable user default alert rules will be used) | [optional] **agents** | [**List[TestAgentRequest]**](TestAgentRequest.md) | Contains list of Agent IDs (get `agentId` from `/agents` endpoint). | +**monitors** | **List[str]** | Contains list of BGP monitor IDs (get `monitorId` from `/monitors` endpoint) | [optional] ## Example diff --git a/thousandeyes-sdk-tests/docs/PageLoadTestResponse.md b/thousandeyes-sdk-tests/docs/PageLoadTestResponse.md index 5ea5a744..e6dd0fb9 100644 --- a/thousandeyes-sdk-tests/docs/PageLoadTestResponse.md +++ b/thousandeyes-sdk-tests/docs/PageLoadTestResponse.md @@ -57,6 +57,7 @@ Name | Type | Description | Notes **override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] **override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] **collect_proxy_network_data** | **bool** | Indicates whether network data to the proxy should be collected. | [optional] [default to False] +**vault_credentials** | [**List[TestVaultCredential]**](TestVaultCredential.md) | List of credential IDs that are stored in an external vault. | [optional] **emulated_device_id** | **str** | ID of the emulated device, if one was given when the test was created. | [optional] **page_load_target_time** | **int** | Target time for page load completion, specified in seconds and cannot exceed the `pageLoadTimeLimit`. | [optional] **page_load_time_limit** | **int** | Page load time limit. Must be larger than the `httpTimeLimit`. | [optional] [default to 10] diff --git a/thousandeyes-sdk-tests/docs/SimpleAgent.md b/thousandeyes-sdk-tests/docs/SimpleAgent.md index 96e486de..6aa61aaf 100644 --- a/thousandeyes-sdk-tests/docs/SimpleAgent.md +++ b/thousandeyes-sdk-tests/docs/SimpleAgent.md @@ -13,9 +13,10 @@ Name | Type | Description | Notes **location** | **str** | Location of the agent. | [optional] [readonly] **country_id** | **str** | 2-digit ISO country code | [optional] [readonly] **coordinates** | [**Coordinates**](Coordinates.md) | | [optional] +**network_provider_info** | [**NetworkProviderInfo**](NetworkProviderInfo.md) | | [optional] [readonly] **enabled** | **bool** | Flag indicating if the agent is enabled. | [optional] -**prefix** | **str** | Prefix containing agents public IP address. | [optional] [readonly] **verify_ssl_certificates** | **bool** | Flag indicating if has normal SSL operations or if instead it's set to ignore SSL errors on browserbot-based tests. | [optional] [readonly] +**prefix** | **str** | Prefix containing agents public IP address. | [optional] [readonly] ## Example diff --git a/thousandeyes-sdk-tests/docs/SipServerTestRequest.md b/thousandeyes-sdk-tests/docs/SipServerTestRequest.md index 0b8a58b0..620db3c6 100644 --- a/thousandeyes-sdk-tests/docs/SipServerTestRequest.md +++ b/thousandeyes-sdk-tests/docs/SipServerTestRequest.md @@ -8,7 +8,6 @@ Name | Type | Description | Notes **interval** | [**TestInterval**](TestInterval.md) | | **alerts_enabled** | **bool** | Indicates if alerts are enabled. | [optional] **enabled** | **bool** | Test is enabled. | [optional] [default to True] -**alert_rules** | **List[str]** | List of alert rules IDs to apply to the test (get `ruleId` from `/alerts/rules` endpoint. If `alertsEnabled` is set to `true` and `alertRules` is not included on test creation or update, applicable user default alert rules will be used) | [optional] **created_by** | **str** | User that created the test. | [optional] [readonly] **created_date** | **datetime** | UTC created date (ISO date-time format). | [optional] [readonly] **description** | **str** | A description of the test. | [optional] @@ -20,8 +19,6 @@ Name | Type | Description | Notes **test_name** | **str** | The name of the test. Test name must be unique. | [optional] **type** | **str** | | [optional] [readonly] **links** | [**TestLinks**](TestLinks.md) | | [optional] -**labels** | **List[str]** | Contains list of test label IDs (get `labelId` from `/labels` endpoint) | [optional] -**shared_with_accounts** | **List[str]** | Contains list of account group IDs. Test is shared with the listed account groups (get `aid` from `/account-groups` endpoint) | [optional] **mtu_measurements** | **bool** | Set `true` to measure MTU sizes on network from agents to the target. | [optional] **network_measurements** | **bool** | Enable or disable network measurements. Set to true to enable or false to disable network measurements. | [optional] [default to True] **num_path_traces** | **int** | Number of path traces executed by the agent. | [optional] [default to 3] @@ -34,12 +31,15 @@ Name | Type | Description | Notes **sip_time_limit** | **int** | Time limit in milliseconds. | [optional] [default to 5] **fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] **ipv6_policy** | [**TestIpv6Policy**](TestIpv6Policy.md) | | [optional] +**labels** | **List[str]** | Contains list of test label IDs (get `labelId` from `/labels` endpoint) | [optional] +**tags** | **List[str]** | Contains list of test tag IDs (get `id` from `/tags` endpoint). | [optional] +**shared_with_accounts** | **List[str]** | Contains list of account group IDs. Test is shared with the listed account groups (get `aid` from `/account-groups` endpoint) | [optional] +**alert_rules** | **List[str]** | List of alert rules IDs to apply to the test (get `ruleId` from `/alerts/rules` endpoint. If `alertsEnabled` is set to `true` and `alertRules` is not included on test creation or update, applicable user default alert rules will be used) | [optional] +**agents** | [**List[TestAgentRequest]**](TestAgentRequest.md) | Contains list of Agent IDs (get `agentId` from `/agents` endpoint). | +**monitors** | **List[str]** | Contains list of BGP monitor IDs (get `monitorId` from `/monitors` endpoint) | [optional] +**target_sip_credentials** | [**TestSipCredentials**](TestSipCredentials.md) | | **bgp_measurements** | **bool** | Set to `true` to enable bgp measurements. | [optional] [default to True] **use_public_bgp** | **bool** | Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value. | [optional] [default to True] -**monitors** | [**List[Monitor]**](Monitor.md) | Contains list of enabled BGP monitors. | [optional] [readonly] -**target_sip_credentials** | [**TestSipCredentials**](TestSipCredentials.md) | | -**tags** | **List[str]** | Contains list of test tag IDs (get `id` from `/tags` endpoint). | [optional] -**agents** | [**List[TestAgentRequest]**](TestAgentRequest.md) | Contains list of Agent IDs (get `agentId` from `/agents` endpoint). | ## Example diff --git a/thousandeyes-sdk-tests/docs/TestVaultCredential.md b/thousandeyes-sdk-tests/docs/TestVaultCredential.md new file mode 100644 index 00000000..fc5cdb7e --- /dev/null +++ b/thousandeyes-sdk-tests/docs/TestVaultCredential.md @@ -0,0 +1,30 @@ +# TestVaultCredential + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**secret_id** | **str** | UUID of the configured secret. | [optional] +**target** | [**TestVaultCredentialTarget**](TestVaultCredentialTarget.md) | | [optional] + +## Example + +```python +from thousandeyes_sdk.tests.models.test_vault_credential import TestVaultCredential + +# TODO update the JSON string below +json = "{}" +# create an instance of TestVaultCredential from a JSON string +test_vault_credential_instance = TestVaultCredential.from_json(json) +# print the JSON string representation of the object +print(TestVaultCredential.to_json()) + +# convert the object into a dict +test_vault_credential_dict = test_vault_credential_instance.to_dict() +# create an instance of TestVaultCredential from a dict +test_vault_credential_from_dict = TestVaultCredential.from_dict(test_vault_credential_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/thousandeyes-sdk-tests/docs/TestVaultCredentialTarget.md b/thousandeyes-sdk-tests/docs/TestVaultCredentialTarget.md new file mode 100644 index 00000000..02df9f4f --- /dev/null +++ b/thousandeyes-sdk-tests/docs/TestVaultCredentialTarget.md @@ -0,0 +1,12 @@ +# TestVaultCredentialTarget + +The target setting that the credential should be used for. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/thousandeyes-sdk-tests/docs/UpdateSipServerTest.md b/thousandeyes-sdk-tests/docs/UnexpandedDnsServerRequestTest.md similarity index 66% rename from thousandeyes-sdk-tests/docs/UpdateSipServerTest.md rename to thousandeyes-sdk-tests/docs/UnexpandedDnsServerRequestTest.md index ede5e3d3..2633550f 100644 --- a/thousandeyes-sdk-tests/docs/UpdateSipServerTest.md +++ b/thousandeyes-sdk-tests/docs/UnexpandedDnsServerRequestTest.md @@ -1,4 +1,4 @@ -# UpdateSipServerTest +# UnexpandedDnsServerRequestTest ## Properties @@ -8,7 +8,6 @@ Name | Type | Description | Notes **interval** | [**TestInterval**](TestInterval.md) | | **alerts_enabled** | **bool** | Indicates if alerts are enabled. | [optional] **enabled** | **bool** | Test is enabled. | [optional] [default to True] -**alert_rules** | [**List[AlertRule]**](AlertRule.md) | Contains list of enabled alert rule objects. | [optional] **created_by** | **str** | User that created the test. | [optional] [readonly] **created_date** | **datetime** | UTC created date (ISO date-time format). | [optional] [readonly] **description** | **str** | A description of the test. | [optional] @@ -20,41 +19,40 @@ Name | Type | Description | Notes **test_name** | **str** | The name of the test. Test name must be unique. | [optional] **type** | **str** | | [optional] [readonly] **links** | [**TestLinks**](TestLinks.md) | | [optional] -**labels** | [**List[TestLabel]**](TestLabel.md) | Labels to which the test is assigned. This field is not returned for Instant Tests. | [optional] [readonly] -**shared_with_accounts** | [**List[SharedWithAccount]**](SharedWithAccount.md) | | [optional] [readonly] +**bandwidth_measurements** | **bool** | Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test. | [optional] +**dns_servers** | **List[str]** | A list of DNS server FQDN. | +**dns_transport_protocol** | [**TestDnsTransportProtocol**](TestDnsTransportProtocol.md) | | [optional] +**domain** | **str** | The target record for the test, with the record type suffixed. If no record type is specified, the test defaults to an ANY record. | **mtu_measurements** | **bool** | Set `true` to measure MTU sizes on network from agents to the target. | [optional] **network_measurements** | **bool** | Enable or disable network measurements. Set to true to enable or false to disable network measurements. | [optional] [default to True] **num_path_traces** | **int** | Number of path traces executed by the agent. | [optional] [default to 3] -**options_regex** | **str** | Options regex, this field does not require escaping. | [optional] **path_trace_mode** | [**TestPathTraceMode**](TestPathTraceMode.md) | | [optional] **probe_mode** | [**TestProbeMode**](TestProbeMode.md) | | [optional] +**protocol** | [**TestProtocol**](TestProtocol.md) | | [optional] **randomized_start_time** | **bool** | Indicates whether agents should randomize the start time in each test round. | [optional] [default to False] -**register_enabled** | **bool** | Set to true to perform SIP registration on the test target with the SIP REGISTER command. | [optional] [default to False] -**sip_target_time** | **int** | Target time for test completion in milliseconds. | [optional] -**sip_time_limit** | **int** | Time limit in milliseconds. | [optional] [default to 5] -**fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] +**recursive_queries** | **bool** | Set true to run query with RD (recursion desired) flag enabled. | [optional] **ipv6_policy** | [**TestIpv6Policy**](TestIpv6Policy.md) | | [optional] +**fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] +**dns_query_class** | [**DnsQueryClass**](DnsQueryClass.md) | | [optional] **bgp_measurements** | **bool** | Set to `true` to enable bgp measurements. | [optional] [default to True] **use_public_bgp** | **bool** | Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value. | [optional] [default to True] -**monitors** | [**List[Monitor]**](Monitor.md) | Contains list of enabled BGP monitors. | [optional] [readonly] -**target_sip_credentials** | [**TestSipCredentials**](TestSipCredentials.md) | | ## Example ```python -from thousandeyes_sdk.tests.models.update_sip_server_test import UpdateSipServerTest +from thousandeyes_sdk.tests.models.unexpanded_dns_server_request_test import UnexpandedDnsServerRequestTest # TODO update the JSON string below json = "{}" -# create an instance of UpdateSipServerTest from a JSON string -update_sip_server_test_instance = UpdateSipServerTest.from_json(json) +# create an instance of UnexpandedDnsServerRequestTest from a JSON string +unexpanded_dns_server_request_test_instance = UnexpandedDnsServerRequestTest.from_json(json) # print the JSON string representation of the object -print(UpdateSipServerTest.to_json()) +print(UnexpandedDnsServerRequestTest.to_json()) # convert the object into a dict -update_sip_server_test_dict = update_sip_server_test_instance.to_dict() -# create an instance of UpdateSipServerTest from a dict -update_sip_server_test_from_dict = UpdateSipServerTest.from_dict(update_sip_server_test_dict) +unexpanded_dns_server_request_test_dict = unexpanded_dns_server_request_test_instance.to_dict() +# create an instance of UnexpandedDnsServerRequestTest from a dict +unexpanded_dns_server_request_test_from_dict = UnexpandedDnsServerRequestTest.from_dict(unexpanded_dns_server_request_test_dict) ``` [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/thousandeyes-sdk-tests/docs/UnexpandedHttpServerTest.md b/thousandeyes-sdk-tests/docs/UnexpandedHttpServerTest.md index d13164b9..bdaf4796 100644 --- a/thousandeyes-sdk-tests/docs/UnexpandedHttpServerTest.md +++ b/thousandeyes-sdk-tests/docs/UnexpandedHttpServerTest.md @@ -54,6 +54,7 @@ Name | Type | Description | Notes **override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] **override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] **collect_proxy_network_data** | **bool** | Indicates whether network data to the proxy should be collected. | [optional] [default to False] +**vault_credentials** | [**List[TestVaultCredential]**](TestVaultCredential.md) | List of credential IDs that are stored in an external vault. | [optional] **headers** | **List[str]** | HTTP request headers used. | [optional] **randomized_start_time** | **bool** | Indicates whether agents should randomize the start time in each test round. | [optional] [default to False] **post_body** | **str** | Enter the body for the HTTP POST request in this field. No special escaping is necessary. If the post body is provided with content, the `requestMethod` is automatically set to POST. | [optional] diff --git a/thousandeyes-sdk-tests/docs/UnexpandedPageLoadTest.md b/thousandeyes-sdk-tests/docs/UnexpandedPageLoadTest.md index b482d010..6c1dfab8 100644 --- a/thousandeyes-sdk-tests/docs/UnexpandedPageLoadTest.md +++ b/thousandeyes-sdk-tests/docs/UnexpandedPageLoadTest.md @@ -54,6 +54,7 @@ Name | Type | Description | Notes **override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] **override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] **collect_proxy_network_data** | **bool** | Indicates whether network data to the proxy should be collected. | [optional] [default to False] +**vault_credentials** | [**List[TestVaultCredential]**](TestVaultCredential.md) | List of credential IDs that are stored in an external vault. | [optional] **emulated_device_id** | **str** | ID of the emulated device, if one was given when the test was created. | [optional] **page_load_target_time** | **int** | Target time for page load completion, specified in seconds and cannot exceed the `pageLoadTimeLimit`. | [optional] **page_load_time_limit** | **int** | Page load time limit. Must be larger than the `httpTimeLimit`. | [optional] [default to 10] diff --git a/thousandeyes-sdk-tests/docs/UnexpandedVoiceTest.md b/thousandeyes-sdk-tests/docs/UnexpandedVoiceTest.md index eea3d985..55d4ff70 100644 --- a/thousandeyes-sdk-tests/docs/UnexpandedVoiceTest.md +++ b/thousandeyes-sdk-tests/docs/UnexpandedVoiceTest.md @@ -20,7 +20,7 @@ Name | Type | Description | Notes **type** | **str** | | [optional] [readonly] **links** | [**TestLinks**](TestLinks.md) | | [optional] **codec** | **str** | Codec label | [optional] [readonly] -**codec_id** | **str** | Coded ID, [see the list of acceptable values](https://docs.thousandeyes.com/product-documentation/internet-and-wan-monitoring/tests/working-with-test-settings#rtp-stream-advanced-settings-tab) | [optional] +**codec_id** | **str** | Codec identifier for the RTP stream. Valid values: * `0`: G.711 @ 64 Kbps * `1`: G.722.1 @ 24 Kbps (WB) * `2`: G.722.1 @ 32 Kbps (WB) * `3`: G.726 @ 32 Kbps * `4`: G.723.1 @ 6.4 Kbps * `5`: G.729a @ 8 Kbps * `6`: RTAudio @ 45 Kbps (WB) * `7`: RTAudio @ 27.8 Kbps * `8`: SILK @ 36 Kbps (WB) * `9`: G.722 @ 64 Kbps (WB) | [optional] **dscp** | **str** | DSCP label. | [optional] [readonly] **dscp_id** | [**TestDscpId**](TestDscpId.md) | | [optional] **duration** | **int** | Duration of the test in seconds. | [optional] [default to 5] diff --git a/thousandeyes-sdk-tests/docs/UnexpandedWebTransactionTest.md b/thousandeyes-sdk-tests/docs/UnexpandedWebTransactionTest.md index e1b4855c..e3f0fdfa 100644 --- a/thousandeyes-sdk-tests/docs/UnexpandedWebTransactionTest.md +++ b/thousandeyes-sdk-tests/docs/UnexpandedWebTransactionTest.md @@ -54,6 +54,7 @@ Name | Type | Description | Notes **override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] **override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] **collect_proxy_network_data** | **bool** | Indicates whether network data to the proxy should be collected. | [optional] [default to False] +**vault_credentials** | [**List[TestVaultCredential]**](TestVaultCredential.md) | List of credential IDs that are stored in an external vault. | [optional] **emulated_device_id** | **str** | ID of the emulated device, if specified when the test was created. | [optional] **target_time** | **int** | Target completion time, in seconds. Defaults to 10. Cannot exceed the `timeLimit` value. | [optional] [default to 10] **time_limit** | **int** | Time limit for transaction in seconds. | [optional] [default to 30] diff --git a/thousandeyes-sdk-tests/docs/UpdateBgpTestRequest.md b/thousandeyes-sdk-tests/docs/UpdateBgpTestRequest.md index f9689f66..d69d8844 100644 --- a/thousandeyes-sdk-tests/docs/UpdateBgpTestRequest.md +++ b/thousandeyes-sdk-tests/docs/UpdateBgpTestRequest.md @@ -16,15 +16,15 @@ Name | Type | Description | Notes **test_name** | **str** | The name of the test. Test name must be unique. | [optional] **type** | **str** | | [optional] [readonly] **links** | [**TestLinks**](TestLinks.md) | | [optional] -**labels** | **List[str]** | Contains list of test label IDs (get `labelId` from `/labels` endpoint) | [optional] -**shared_with_accounts** | **List[str]** | Contains list of account group IDs. Test is shared with the listed account groups (get `aid` from `/account-groups` endpoint) | [optional] **enabled** | **bool** | Test is enabled. | [optional] [default to True] -**monitors** | **List[str]** | Contains list of BGP monitor IDs (get `monitorId` from `/monitors` endpoint) | [optional] **include_covered_prefixes** | **bool** | Indicate if queries for subprefixes detected under this prefix should included. | [optional] **use_public_bgp** | **bool** | Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value. | [optional] [default to True] **alerts_enabled** | **bool** | Indicates if alerts are enabled. | [optional] -**alert_rules** | **List[str]** | List of alert rules IDs to apply to the test (get `ruleId` from `/alerts/rules` endpoint. If `alertsEnabled` is set to `true` and `alertRules` is not included on test creation or update, applicable user default alert rules will be used) | [optional] +**labels** | **List[str]** | Contains list of test label IDs (get `labelId` from `/labels` endpoint) | [optional] **tags** | **List[str]** | Contains list of test tag IDs (get `id` from `/tags` endpoint). | [optional] +**shared_with_accounts** | **List[str]** | Contains list of account group IDs. Test is shared with the listed account groups (get `aid` from `/account-groups` endpoint) | [optional] +**alert_rules** | **List[str]** | List of alert rules IDs to apply to the test (get `ruleId` from `/alerts/rules` endpoint. If `alertsEnabled` is set to `true` and `alertRules` is not included on test creation or update, applicable user default alert rules will be used) | [optional] +**monitors** | **List[str]** | Contains list of BGP monitor IDs (get `monitorId` from `/monitors` endpoint) | [optional] ## Example diff --git a/thousandeyes-sdk-tests/docs/VoiceInstantTest.md b/thousandeyes-sdk-tests/docs/VoiceInstantTest.md index 47c7b88c..03f25074 100644 --- a/thousandeyes-sdk-tests/docs/VoiceInstantTest.md +++ b/thousandeyes-sdk-tests/docs/VoiceInstantTest.md @@ -19,7 +19,7 @@ Name | Type | Description | Notes **labels** | [**List[TestLabel]**](TestLabel.md) | Labels to which the test is assigned. This field is not returned for Instant Tests. | [optional] [readonly] **shared_with_accounts** | [**List[SharedWithAccount]**](SharedWithAccount.md) | | [optional] [readonly] **codec** | **str** | Codec label | [optional] [readonly] -**codec_id** | **str** | Coded ID, [see the list of acceptable values](https://docs.thousandeyes.com/product-documentation/internet-and-wan-monitoring/tests/working-with-test-settings#rtp-stream-advanced-settings-tab) | [optional] +**codec_id** | **str** | Codec identifier for the RTP stream. Valid values: * `0`: G.711 @ 64 Kbps * `1`: G.722.1 @ 24 Kbps (WB) * `2`: G.722.1 @ 32 Kbps (WB) * `3`: G.726 @ 32 Kbps * `4`: G.723.1 @ 6.4 Kbps * `5`: G.729a @ 8 Kbps * `6`: RTAudio @ 45 Kbps (WB) * `7`: RTAudio @ 27.8 Kbps * `8`: SILK @ 36 Kbps (WB) * `9`: G.722 @ 64 Kbps (WB) | [optional] **dscp** | **str** | DSCP label. | [optional] [readonly] **dscp_id** | [**TestDscpId**](TestDscpId.md) | | [optional] **duration** | **int** | Duration of the test in seconds. | [optional] [default to 5] diff --git a/thousandeyes-sdk-tests/docs/VoiceProperties.md b/thousandeyes-sdk-tests/docs/VoiceProperties.md index c34bfc10..fd87cfcd 100644 --- a/thousandeyes-sdk-tests/docs/VoiceProperties.md +++ b/thousandeyes-sdk-tests/docs/VoiceProperties.md @@ -6,7 +6,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **codec** | **str** | Codec label | [optional] [readonly] -**codec_id** | **str** | Coded ID, [see the list of acceptable values](https://docs.thousandeyes.com/product-documentation/internet-and-wan-monitoring/tests/working-with-test-settings#rtp-stream-advanced-settings-tab) | [optional] +**codec_id** | **str** | Codec identifier for the RTP stream. Valid values: * `0`: G.711 @ 64 Kbps * `1`: G.722.1 @ 24 Kbps (WB) * `2`: G.722.1 @ 32 Kbps (WB) * `3`: G.726 @ 32 Kbps * `4`: G.723.1 @ 6.4 Kbps * `5`: G.729a @ 8 Kbps * `6`: RTAudio @ 45 Kbps (WB) * `7`: RTAudio @ 27.8 Kbps * `8`: SILK @ 36 Kbps (WB) * `9`: G.722 @ 64 Kbps (WB) | [optional] **dscp** | **str** | DSCP label. | [optional] [readonly] **dscp_id** | [**TestDscpId**](TestDscpId.md) | | [optional] **duration** | **int** | Duration of the test in seconds. | [optional] [default to 5] diff --git a/thousandeyes-sdk-tests/docs/VoiceTest.md b/thousandeyes-sdk-tests/docs/VoiceTest.md index 410d251d..ef159ddb 100644 --- a/thousandeyes-sdk-tests/docs/VoiceTest.md +++ b/thousandeyes-sdk-tests/docs/VoiceTest.md @@ -23,7 +23,7 @@ Name | Type | Description | Notes **labels** | [**List[TestLabel]**](TestLabel.md) | Labels to which the test is assigned. This field is not returned for Instant Tests. | [optional] [readonly] **shared_with_accounts** | [**List[SharedWithAccount]**](SharedWithAccount.md) | | [optional] [readonly] **codec** | **str** | Codec label | [optional] [readonly] -**codec_id** | **str** | Coded ID, [see the list of acceptable values](https://docs.thousandeyes.com/product-documentation/internet-and-wan-monitoring/tests/working-with-test-settings#rtp-stream-advanced-settings-tab) | [optional] +**codec_id** | **str** | Codec identifier for the RTP stream. Valid values: * `0`: G.711 @ 64 Kbps * `1`: G.722.1 @ 24 Kbps (WB) * `2`: G.722.1 @ 32 Kbps (WB) * `3`: G.726 @ 32 Kbps * `4`: G.723.1 @ 6.4 Kbps * `5`: G.729a @ 8 Kbps * `6`: RTAudio @ 45 Kbps (WB) * `7`: RTAudio @ 27.8 Kbps * `8`: SILK @ 36 Kbps (WB) * `9`: G.722 @ 64 Kbps (WB) | [optional] **dscp** | **str** | DSCP label. | [optional] [readonly] **dscp_id** | [**TestDscpId**](TestDscpId.md) | | [optional] **duration** | **int** | Duration of the test in seconds. | [optional] [default to 5] diff --git a/thousandeyes-sdk-tests/docs/VoiceTestRequest.md b/thousandeyes-sdk-tests/docs/VoiceTestRequest.md index 97253c07..5a8d666c 100644 --- a/thousandeyes-sdk-tests/docs/VoiceTestRequest.md +++ b/thousandeyes-sdk-tests/docs/VoiceTestRequest.md @@ -8,7 +8,6 @@ Name | Type | Description | Notes **interval** | [**TestInterval**](TestInterval.md) | | **alerts_enabled** | **bool** | Indicates if alerts are enabled. | [optional] **enabled** | **bool** | Test is enabled. | [optional] [default to True] -**alert_rules** | **List[str]** | List of alert rules IDs to apply to the test (get `ruleId` from `/alerts/rules` endpoint. If `alertsEnabled` is set to `true` and `alertRules` is not included on test creation or update, applicable user default alert rules will be used) | [optional] **created_by** | **str** | User that created the test. | [optional] [readonly] **created_date** | **datetime** | UTC created date (ISO date-time format). | [optional] [readonly] **description** | **str** | A description of the test. | [optional] @@ -20,10 +19,8 @@ Name | Type | Description | Notes **test_name** | **str** | The name of the test. Test name must be unique. | [optional] **type** | **str** | | [optional] [readonly] **links** | [**TestLinks**](TestLinks.md) | | [optional] -**labels** | **List[str]** | Contains list of test label IDs (get `labelId` from `/labels` endpoint) | [optional] -**shared_with_accounts** | **List[str]** | Contains list of account group IDs. Test is shared with the listed account groups (get `aid` from `/account-groups` endpoint) | [optional] **codec** | **str** | Codec label | [optional] [readonly] -**codec_id** | **str** | Coded ID, [see the list of acceptable values](https://docs.thousandeyes.com/product-documentation/internet-and-wan-monitoring/tests/working-with-test-settings#rtp-stream-advanced-settings-tab) | [optional] +**codec_id** | **str** | Codec identifier for the RTP stream. Valid values: * `0`: G.711 @ 64 Kbps * `1`: G.722.1 @ 24 Kbps (WB) * `2`: G.722.1 @ 32 Kbps (WB) * `3`: G.726 @ 32 Kbps * `4`: G.723.1 @ 6.4 Kbps * `5`: G.729a @ 8 Kbps * `6`: RTAudio @ 45 Kbps (WB) * `7`: RTAudio @ 27.8 Kbps * `8`: SILK @ 36 Kbps (WB) * `9`: G.722 @ 64 Kbps (WB) | [optional] **dscp** | **str** | DSCP label. | [optional] [readonly] **dscp_id** | [**TestDscpId**](TestDscpId.md) | | [optional] **duration** | **int** | Duration of the test in seconds. | [optional] [default to 5] @@ -34,9 +31,12 @@ Name | Type | Description | Notes **target_agent_id** | **str** | Agent ID of the target agent for the test. | **bgp_measurements** | **bool** | Set to `true` to enable bgp measurements. | [optional] [default to True] **use_public_bgp** | **bool** | Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value. | [optional] [default to True] -**monitors** | [**List[Monitor]**](Monitor.md) | Contains list of enabled BGP monitors. | [optional] [readonly] +**labels** | **List[str]** | Contains list of test label IDs (get `labelId` from `/labels` endpoint) | [optional] **tags** | **List[str]** | Contains list of test tag IDs (get `id` from `/tags` endpoint). | [optional] +**shared_with_accounts** | **List[str]** | Contains list of account group IDs. Test is shared with the listed account groups (get `aid` from `/account-groups` endpoint) | [optional] +**alert_rules** | **List[str]** | List of alert rules IDs to apply to the test (get `ruleId` from `/alerts/rules` endpoint. If `alertsEnabled` is set to `true` and `alertRules` is not included on test creation or update, applicable user default alert rules will be used) | [optional] **agents** | [**List[TestAgentRequest]**](TestAgentRequest.md) | Contains list of Agent IDs (get `agentId` from `/agents` endpoint). | +**monitors** | **List[str]** | Contains list of BGP monitor IDs (get `monitorId` from `/monitors` endpoint) | [optional] ## Example diff --git a/thousandeyes-sdk-tests/docs/VoiceTestResponse.md b/thousandeyes-sdk-tests/docs/VoiceTestResponse.md index 23b2919c..570ee818 100644 --- a/thousandeyes-sdk-tests/docs/VoiceTestResponse.md +++ b/thousandeyes-sdk-tests/docs/VoiceTestResponse.md @@ -23,7 +23,7 @@ Name | Type | Description | Notes **labels** | [**List[TestLabel]**](TestLabel.md) | Labels to which the test is assigned. This field is not returned for Instant Tests. | [optional] [readonly] **shared_with_accounts** | [**List[SharedWithAccount]**](SharedWithAccount.md) | | [optional] [readonly] **codec** | **str** | Codec label | [optional] [readonly] -**codec_id** | **str** | Coded ID, [see the list of acceptable values](https://docs.thousandeyes.com/product-documentation/internet-and-wan-monitoring/tests/working-with-test-settings#rtp-stream-advanced-settings-tab) | [optional] +**codec_id** | **str** | Codec identifier for the RTP stream. Valid values: * `0`: G.711 @ 64 Kbps * `1`: G.722.1 @ 24 Kbps (WB) * `2`: G.722.1 @ 32 Kbps (WB) * `3`: G.726 @ 32 Kbps * `4`: G.723.1 @ 6.4 Kbps * `5`: G.729a @ 8 Kbps * `6`: RTAudio @ 45 Kbps (WB) * `7`: RTAudio @ 27.8 Kbps * `8`: SILK @ 36 Kbps (WB) * `9`: G.722 @ 64 Kbps (WB) | [optional] **dscp** | **str** | DSCP label. | [optional] [readonly] **dscp_id** | [**TestDscpId**](TestDscpId.md) | | [optional] **duration** | **int** | Duration of the test in seconds. | [optional] [default to 5] diff --git a/thousandeyes-sdk-tests/docs/WebTransactionInstantTest.md b/thousandeyes-sdk-tests/docs/WebTransactionInstantTest.md index b0e5b5d5..34670db6 100644 --- a/thousandeyes-sdk-tests/docs/WebTransactionInstantTest.md +++ b/thousandeyes-sdk-tests/docs/WebTransactionInstantTest.md @@ -53,6 +53,7 @@ Name | Type | Description | Notes **override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] **override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] **collect_proxy_network_data** | **bool** | Indicates whether network data to the proxy should be collected. | [optional] [default to False] +**vault_credentials** | [**List[TestVaultCredential]**](TestVaultCredential.md) | List of credential IDs that are stored in an external vault. | [optional] **emulated_device_id** | **str** | ID of the emulated device, if specified when the test was created. | [optional] **target_time** | **int** | Target completion time, in seconds. Defaults to 10. Cannot exceed the `timeLimit` value. | [optional] [default to 10] **time_limit** | **int** | Time limit for transaction in seconds. | [optional] [default to 30] diff --git a/thousandeyes-sdk-tests/docs/WebTransactionProperties.md b/thousandeyes-sdk-tests/docs/WebTransactionProperties.md index 3e8197fb..9a4b7606 100644 --- a/thousandeyes-sdk-tests/docs/WebTransactionProperties.md +++ b/thousandeyes-sdk-tests/docs/WebTransactionProperties.md @@ -40,6 +40,7 @@ Name | Type | Description | Notes **override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] **override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] **collect_proxy_network_data** | **bool** | Indicates whether network data to the proxy should be collected. | [optional] [default to False] +**vault_credentials** | [**List[TestVaultCredential]**](TestVaultCredential.md) | List of credential IDs that are stored in an external vault. | [optional] **emulated_device_id** | **str** | ID of the emulated device, if specified when the test was created. | [optional] **target_time** | **int** | Target completion time, in seconds. Defaults to 10. Cannot exceed the `timeLimit` value. | [optional] [default to 10] **time_limit** | **int** | Time limit for transaction in seconds. | [optional] [default to 30] diff --git a/thousandeyes-sdk-tests/docs/WebTransactionTest.md b/thousandeyes-sdk-tests/docs/WebTransactionTest.md index f1de1894..a2dc8d4e 100644 --- a/thousandeyes-sdk-tests/docs/WebTransactionTest.md +++ b/thousandeyes-sdk-tests/docs/WebTransactionTest.md @@ -57,6 +57,7 @@ Name | Type | Description | Notes **override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] **override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] **collect_proxy_network_data** | **bool** | Indicates whether network data to the proxy should be collected. | [optional] [default to False] +**vault_credentials** | [**List[TestVaultCredential]**](TestVaultCredential.md) | List of credential IDs that are stored in an external vault. | [optional] **emulated_device_id** | **str** | ID of the emulated device, if specified when the test was created. | [optional] **target_time** | **int** | Target completion time, in seconds. Defaults to 10. Cannot exceed the `timeLimit` value. | [optional] [default to 10] **time_limit** | **int** | Time limit for transaction in seconds. | [optional] [default to 30] diff --git a/thousandeyes-sdk-tests/docs/WebTransactionTestRequest.md b/thousandeyes-sdk-tests/docs/WebTransactionTestRequest.md index 6a183b47..1a3aae13 100644 --- a/thousandeyes-sdk-tests/docs/WebTransactionTestRequest.md +++ b/thousandeyes-sdk-tests/docs/WebTransactionTestRequest.md @@ -8,7 +8,6 @@ Name | Type | Description | Notes **interval** | [**TestInterval**](TestInterval.md) | | **alerts_enabled** | **bool** | Indicates if alerts are enabled. | [optional] **enabled** | **bool** | Test is enabled. | [optional] [default to True] -**alert_rules** | **List[str]** | List of alert rules IDs to apply to the test (get `ruleId` from `/alerts/rules` endpoint. If `alertsEnabled` is set to `true` and `alertRules` is not included on test creation or update, applicable user default alert rules will be used) | [optional] **created_by** | **str** | User that created the test. | [optional] [readonly] **created_date** | **datetime** | UTC created date (ISO date-time format). | [optional] [readonly] **description** | **str** | A description of the test. | [optional] @@ -20,8 +19,6 @@ Name | Type | Description | Notes **test_name** | **str** | The name of the test. Test name must be unique. | [optional] **type** | **str** | | [optional] [readonly] **links** | [**TestLinks**](TestLinks.md) | | [optional] -**labels** | **List[str]** | Contains list of test label IDs (get `labelId` from `/labels` endpoint) | [optional] -**shared_with_accounts** | **List[str]** | Contains list of account group IDs. Test is shared with the listed account groups (get `aid` from `/account-groups` endpoint) | [optional] **auth_type** | [**TestAuthType**](TestAuthType.md) | | [optional] **agent_interfaces** | [**AgentInterfaces**](AgentInterfaces.md) | | [optional] **bandwidth_measurements** | **bool** | Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test. | [optional] @@ -57,6 +54,7 @@ Name | Type | Description | Notes **override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] **override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] **collect_proxy_network_data** | **bool** | Indicates whether network data to the proxy should be collected. | [optional] [default to False] +**vault_credentials** | [**List[TestVaultCredential]**](TestVaultCredential.md) | List of credential IDs that are stored in an external vault. | [optional] **emulated_device_id** | **str** | ID of the emulated device, if specified when the test was created. | [optional] **target_time** | **int** | Target completion time, in seconds. Defaults to 10. Cannot exceed the `timeLimit` value. | [optional] [default to 10] **time_limit** | **int** | Time limit for transaction in seconds. | [optional] [default to 30] @@ -71,13 +69,16 @@ Name | Type | Description | Notes **page_loading_strategy** | [**TestPageLoadingStrategy**](TestPageLoadingStrategy.md) | | [optional] **randomized_start_time** | **bool** | Indicates whether agents should randomize the start time in each test round. | [optional] [default to False] **identify_agent_traffic_with_user_agent** | **bool** | Determines how agent traffic is identified: * `false`: Adds the `x-thousandeyes-agent: yes` header. * `true`: Appends `(ThousandEyes Agent)` to the `user-agent` header. For more information, see [Notes on Agent ID Strategy](https://docs.thousandeyes.com/product-documentation/browser-synthetics/test-settings-page-load-transaction#notes-on-agent-id-strategy). | [optional] [default to False] -**credentials** | **List[str]** | Contains a list of credential IDs (get `credentialId` from `/credentials` endpoint). | [optional] +**subinterval** | [**TestSubInterval**](TestSubInterval.md) | | [optional] **bgp_measurements** | **bool** | Set to `true` to enable bgp measurements. | [optional] [default to True] **use_public_bgp** | **bool** | Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value. | [optional] [default to True] -**monitors** | **List[str]** | Contains list of BGP monitor IDs (get `monitorId` from `/monitors` endpoint) | [optional] -**subinterval** | [**TestSubInterval**](TestSubInterval.md) | | [optional] +**labels** | **List[str]** | Contains list of test label IDs (get `labelId` from `/labels` endpoint) | [optional] **tags** | **List[str]** | Contains list of test tag IDs (get `id` from `/tags` endpoint). | [optional] +**shared_with_accounts** | **List[str]** | Contains list of account group IDs. Test is shared with the listed account groups (get `aid` from `/account-groups` endpoint) | [optional] +**alert_rules** | **List[str]** | List of alert rules IDs to apply to the test (get `ruleId` from `/alerts/rules` endpoint. If `alertsEnabled` is set to `true` and `alertRules` is not included on test creation or update, applicable user default alert rules will be used) | [optional] **agents** | [**List[TestAgentRequest]**](TestAgentRequest.md) | Contains list of Agent IDs (get `agentId` from `/agents` endpoint). | +**monitors** | **List[str]** | Contains list of BGP monitor IDs (get `monitorId` from `/monitors` endpoint) | [optional] +**credentials** | **List[str]** | Contains a list of credential IDs (get `credentialId` from `/credentials` endpoint). | [optional] ## Example diff --git a/thousandeyes-sdk-tests/docs/WebTransactionTestResponse.md b/thousandeyes-sdk-tests/docs/WebTransactionTestResponse.md index 65513159..cbdf7797 100644 --- a/thousandeyes-sdk-tests/docs/WebTransactionTestResponse.md +++ b/thousandeyes-sdk-tests/docs/WebTransactionTestResponse.md @@ -57,6 +57,7 @@ Name | Type | Description | Notes **override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] **override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] **collect_proxy_network_data** | **bool** | Indicates whether network data to the proxy should be collected. | [optional] [default to False] +**vault_credentials** | [**List[TestVaultCredential]**](TestVaultCredential.md) | List of credential IDs that are stored in an external vault. | [optional] **emulated_device_id** | **str** | ID of the emulated device, if specified when the test was created. | [optional] **target_time** | **int** | Target completion time, in seconds. Defaults to 10. Cannot exceed the `timeLimit` value. | [optional] [default to 10] **time_limit** | **int** | Time limit for transaction in seconds. | [optional] [default to 30] diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/__init__.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/__init__.py index cd0ce27e..60504663 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/__init__.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/__init__.py @@ -69,6 +69,7 @@ from thousandeyes_sdk.tests.models.api_test import ApiTest from thousandeyes_sdk.tests.models.api_test_request import ApiTestRequest from thousandeyes_sdk.tests.models.api_test_response import ApiTestResponse from thousandeyes_sdk.tests.models.api_tests import ApiTests +from thousandeyes_sdk.tests.models.base_bgp_request import BaseBgpRequest from thousandeyes_sdk.tests.models.base_bgp_test import BaseBgpTest from thousandeyes_sdk.tests.models.base_request import BaseRequest from thousandeyes_sdk.tests.models.base_test import BaseTest @@ -87,11 +88,11 @@ from thousandeyes_sdk.tests.models.dns_sec_test_response import DnsSecTestRespon from thousandeyes_sdk.tests.models.dns_sec_tests import DnsSecTests from thousandeyes_sdk.tests.models.dns_server_instant_test import DnsServerInstantTest from thousandeyes_sdk.tests.models.dns_server_properties import DnsServerProperties +from thousandeyes_sdk.tests.models.dns_server_request_properties import DnsServerRequestProperties from thousandeyes_sdk.tests.models.dns_server_test import DnsServerTest from thousandeyes_sdk.tests.models.dns_server_test_request import DnsServerTestRequest from thousandeyes_sdk.tests.models.dns_server_test_response import DnsServerTestResponse from thousandeyes_sdk.tests.models.dns_server_tests import DnsServerTests -from thousandeyes_sdk.tests.models.dns_servers_request import DnsServersRequest from thousandeyes_sdk.tests.models.dns_trace_instant_test import DnsTraceInstantTest from thousandeyes_sdk.tests.models.dns_trace_properties import DnsTraceProperties from thousandeyes_sdk.tests.models.dns_trace_test import DnsTraceTest @@ -122,6 +123,8 @@ from thousandeyes_sdk.tests.models.link import Link from thousandeyes_sdk.tests.models.monitor import Monitor from thousandeyes_sdk.tests.models.monitor_type import MonitorType from thousandeyes_sdk.tests.models.monitors_request import MonitorsRequest +from thousandeyes_sdk.tests.models.network_provider_info import NetworkProviderInfo +from thousandeyes_sdk.tests.models.network_provider_type import NetworkProviderType from thousandeyes_sdk.tests.models.o_auth import OAuth from thousandeyes_sdk.tests.models.o_auth_auth_type import OAuthAuthType from thousandeyes_sdk.tests.models.o_auth_request_method import OAuthRequestMethod @@ -167,6 +170,8 @@ from thousandeyes_sdk.tests.models.test_sip_credentials import TestSipCredential from thousandeyes_sdk.tests.models.test_ssl_version_id import TestSslVersionId from thousandeyes_sdk.tests.models.test_sub_interval import TestSubInterval from thousandeyes_sdk.tests.models.test_type import TestType +from thousandeyes_sdk.tests.models.test_vault_credential import TestVaultCredential +from thousandeyes_sdk.tests.models.test_vault_credential_target import TestVaultCredentialTarget from thousandeyes_sdk.tests.models.test_version_history import TestVersionHistory from thousandeyes_sdk.tests.models.test_version_history_response import TestVersionHistoryResponse from thousandeyes_sdk.tests.models.tests import Tests @@ -176,6 +181,7 @@ from thousandeyes_sdk.tests.models.unexpanded_agent_to_server_test import Unexpa from thousandeyes_sdk.tests.models.unexpanded_api_test import UnexpandedApiTest from thousandeyes_sdk.tests.models.unexpanded_bgp_test import UnexpandedBgpTest from thousandeyes_sdk.tests.models.unexpanded_dns_sec_test import UnexpandedDnsSecTest +from thousandeyes_sdk.tests.models.unexpanded_dns_server_request_test import UnexpandedDnsServerRequestTest from thousandeyes_sdk.tests.models.unexpanded_dns_server_test import UnexpandedDnsServerTest from thousandeyes_sdk.tests.models.unexpanded_dns_trace_test import UnexpandedDnsTraceTest from thousandeyes_sdk.tests.models.unexpanded_ftp_server_test import UnexpandedFtpServerTest @@ -188,7 +194,6 @@ from thousandeyes_sdk.tests.models.unexpanded_voice_test import UnexpandedVoiceT from thousandeyes_sdk.tests.models.unexpanded_web_transaction_test import UnexpandedWebTransactionTest from thousandeyes_sdk.tests.models.update_agent_to_server_test_request import UpdateAgentToServerTestRequest from thousandeyes_sdk.tests.models.update_bgp_test_request import UpdateBgpTestRequest -from thousandeyes_sdk.tests.models.update_sip_server_test import UpdateSipServerTest from thousandeyes_sdk.tests.models.validation_error import ValidationError from thousandeyes_sdk.tests.models.validation_error_item import ValidationErrorItem from thousandeyes_sdk.tests.models.voice_instant_test import VoiceInstantTest diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/__init__.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/__init__.py index 758e6890..ba26221e 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/__init__.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/__init__.py @@ -50,6 +50,7 @@ from thousandeyes_sdk.tests.models.api_test import ApiTest from thousandeyes_sdk.tests.models.api_test_request import ApiTestRequest from thousandeyes_sdk.tests.models.api_test_response import ApiTestResponse from thousandeyes_sdk.tests.models.api_tests import ApiTests +from thousandeyes_sdk.tests.models.base_bgp_request import BaseBgpRequest from thousandeyes_sdk.tests.models.base_bgp_test import BaseBgpTest from thousandeyes_sdk.tests.models.base_request import BaseRequest from thousandeyes_sdk.tests.models.base_test import BaseTest @@ -68,11 +69,11 @@ from thousandeyes_sdk.tests.models.dns_sec_test_response import DnsSecTestRespon from thousandeyes_sdk.tests.models.dns_sec_tests import DnsSecTests from thousandeyes_sdk.tests.models.dns_server_instant_test import DnsServerInstantTest from thousandeyes_sdk.tests.models.dns_server_properties import DnsServerProperties +from thousandeyes_sdk.tests.models.dns_server_request_properties import DnsServerRequestProperties from thousandeyes_sdk.tests.models.dns_server_test import DnsServerTest from thousandeyes_sdk.tests.models.dns_server_test_request import DnsServerTestRequest from thousandeyes_sdk.tests.models.dns_server_test_response import DnsServerTestResponse from thousandeyes_sdk.tests.models.dns_server_tests import DnsServerTests -from thousandeyes_sdk.tests.models.dns_servers_request import DnsServersRequest from thousandeyes_sdk.tests.models.dns_trace_instant_test import DnsTraceInstantTest from thousandeyes_sdk.tests.models.dns_trace_properties import DnsTraceProperties from thousandeyes_sdk.tests.models.dns_trace_test import DnsTraceTest @@ -103,6 +104,8 @@ from thousandeyes_sdk.tests.models.link import Link from thousandeyes_sdk.tests.models.monitor import Monitor from thousandeyes_sdk.tests.models.monitor_type import MonitorType from thousandeyes_sdk.tests.models.monitors_request import MonitorsRequest +from thousandeyes_sdk.tests.models.network_provider_info import NetworkProviderInfo +from thousandeyes_sdk.tests.models.network_provider_type import NetworkProviderType from thousandeyes_sdk.tests.models.o_auth import OAuth from thousandeyes_sdk.tests.models.o_auth_auth_type import OAuthAuthType from thousandeyes_sdk.tests.models.o_auth_request_method import OAuthRequestMethod @@ -148,6 +151,8 @@ from thousandeyes_sdk.tests.models.test_sip_credentials import TestSipCredential from thousandeyes_sdk.tests.models.test_ssl_version_id import TestSslVersionId from thousandeyes_sdk.tests.models.test_sub_interval import TestSubInterval from thousandeyes_sdk.tests.models.test_type import TestType +from thousandeyes_sdk.tests.models.test_vault_credential import TestVaultCredential +from thousandeyes_sdk.tests.models.test_vault_credential_target import TestVaultCredentialTarget from thousandeyes_sdk.tests.models.test_version_history import TestVersionHistory from thousandeyes_sdk.tests.models.test_version_history_response import TestVersionHistoryResponse from thousandeyes_sdk.tests.models.tests import Tests @@ -157,6 +162,7 @@ from thousandeyes_sdk.tests.models.unexpanded_agent_to_server_test import Unexpa from thousandeyes_sdk.tests.models.unexpanded_api_test import UnexpandedApiTest from thousandeyes_sdk.tests.models.unexpanded_bgp_test import UnexpandedBgpTest from thousandeyes_sdk.tests.models.unexpanded_dns_sec_test import UnexpandedDnsSecTest +from thousandeyes_sdk.tests.models.unexpanded_dns_server_request_test import UnexpandedDnsServerRequestTest from thousandeyes_sdk.tests.models.unexpanded_dns_server_test import UnexpandedDnsServerTest from thousandeyes_sdk.tests.models.unexpanded_dns_trace_test import UnexpandedDnsTraceTest from thousandeyes_sdk.tests.models.unexpanded_ftp_server_test import UnexpandedFtpServerTest @@ -169,7 +175,6 @@ from thousandeyes_sdk.tests.models.unexpanded_voice_test import UnexpandedVoiceT from thousandeyes_sdk.tests.models.unexpanded_web_transaction_test import UnexpandedWebTransactionTest from thousandeyes_sdk.tests.models.update_agent_to_server_test_request import UpdateAgentToServerTestRequest from thousandeyes_sdk.tests.models.update_bgp_test_request import UpdateBgpTestRequest -from thousandeyes_sdk.tests.models.update_sip_server_test import UpdateSipServerTest from thousandeyes_sdk.tests.models.validation_error import ValidationError from thousandeyes_sdk.tests.models.validation_error_item import ValidationErrorItem from thousandeyes_sdk.tests.models.voice_instant_test import VoiceInstantTest diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/agent_response.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/agent_response.py index 2be9cc12..242ffba1 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/agent_response.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/agent_response.py @@ -20,6 +20,7 @@ from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr from typing import Any, ClassVar, Dict, List, Optional from thousandeyes_sdk.tests.models.cloud_enterprise_agent_type import CloudEnterpriseAgentType from thousandeyes_sdk.tests.models.coordinates import Coordinates +from thousandeyes_sdk.tests.models.network_provider_info import NetworkProviderInfo from typing import Optional, Set from typing_extensions import Self @@ -35,11 +36,12 @@ class AgentResponse(BaseModel): location: Optional[StrictStr] = Field(default=None, description="Location of the agent.") country_id: Optional[StrictStr] = Field(default=None, description="2-digit ISO country code", alias="countryId") coordinates: Optional[Coordinates] = None + network_provider_info: Optional[NetworkProviderInfo] = Field(default=None, alias="networkProviderInfo") enabled: Optional[StrictBool] = Field(default=None, description="Flag indicating if the agent is enabled.") - prefix: Optional[StrictStr] = Field(default=None, description="Prefix containing agents public IP address.") verify_ssl_certificates: Optional[StrictBool] = Field(default=None, description="Flag indicating if has normal SSL operations or if instead it's set to ignore SSL errors on browserbot-based tests.", alias="verifySslCertificates") + prefix: Optional[StrictStr] = Field(default=None, description="Prefix containing agents public IP address.") agent_type: CloudEnterpriseAgentType = Field(alias="agentType") - __properties: ClassVar[List[str]] = ["ipAddresses", "publicIpAddresses", "network", "agentId", "agentName", "location", "countryId", "coordinates", "enabled", "prefix", "verifySslCertificates", "agentType"] + __properties: ClassVar[List[str]] = ["ipAddresses", "publicIpAddresses", "network", "agentId", "agentName", "location", "countryId", "coordinates", "networkProviderInfo", "enabled", "verifySslCertificates", "prefix", "agentType"] model_config = ConfigDict( populate_by_name=True, @@ -80,6 +82,7 @@ class AgentResponse(BaseModel): * OpenAPI `readOnly` fields are excluded. * OpenAPI `readOnly` fields are excluded. * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. """ excluded_fields: Set[str] = set([ "ip_addresses", @@ -88,8 +91,9 @@ class AgentResponse(BaseModel): "agent_id", "location", "country_id", - "prefix", + "network_provider_info", "verify_ssl_certificates", + "prefix", ]) _dict = self.model_dump( @@ -100,6 +104,9 @@ class AgentResponse(BaseModel): # override the default output from pydantic by calling `to_dict()` of coordinates if self.coordinates: _dict['coordinates'] = self.coordinates.to_dict() + # override the default output from pydantic by calling `to_dict()` of network_provider_info + if self.network_provider_info: + _dict['networkProviderInfo'] = self.network_provider_info.to_dict() return _dict @classmethod @@ -120,9 +127,10 @@ class AgentResponse(BaseModel): "location": obj.get("location"), "countryId": obj.get("countryId"), "coordinates": Coordinates.from_dict(obj["coordinates"]) if obj.get("coordinates") is not None else None, + "networkProviderInfo": NetworkProviderInfo.from_dict(obj["networkProviderInfo"]) if obj.get("networkProviderInfo") is not None else None, "enabled": obj.get("enabled"), - "prefix": obj.get("prefix"), "verifySslCertificates": obj.get("verifySslCertificates"), + "prefix": obj.get("prefix"), "agentType": obj.get("agentType") }) return _obj diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/agent_to_agent_test_request.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/agent_to_agent_test_request.py index 8fd01524..3b2eba1c 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/agent_to_agent_test_request.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/agent_to_agent_test_request.py @@ -37,7 +37,6 @@ class AgentToAgentTestRequest(BaseModel): interval: TestInterval alerts_enabled: Optional[StrictBool] = Field(default=None, description="Indicates if alerts are enabled.", alias="alertsEnabled") enabled: Optional[StrictBool] = Field(default=True, description="Test is enabled.") - alert_rules: Optional[List[StrictStr]] = Field(default=None, description="List of alert rules IDs to apply to the test (get `ruleId` from `/alerts/rules` endpoint. If `alertsEnabled` is set to `true` and `alertRules` is not included on test creation or update, applicable user default alert rules will be used)", alias="alertRules") created_by: Optional[StrictStr] = Field(default=None, description="User that created the test.", alias="createdBy") created_date: Optional[datetime] = Field(default=None, description="UTC created date (ISO date-time format).", alias="createdDate") description: Optional[StrictStr] = Field(default=None, description="A description of the test.") @@ -49,8 +48,6 @@ class AgentToAgentTestRequest(BaseModel): test_name: Optional[StrictStr] = Field(default=None, description="The name of the test. Test name must be unique.", alias="testName") type: Optional[StrictStr] = None links: Optional[TestLinks] = Field(default=None, alias="_links") - labels: Optional[List[StrictStr]] = Field(default=None, description="Contains list of test label IDs (get `labelId` from `/labels` endpoint)") - shared_with_accounts: Optional[List[StrictStr]] = Field(default=None, description="Contains list of account group IDs. Test is shared with the listed account groups (get `aid` from `/account-groups` endpoint)", alias="sharedWithAccounts") direction: Optional[TestDirection] = None dscp: Optional[StrictStr] = Field(default=None, description="DSCP label.") dscp_id: Optional[TestDscpId] = Field(default=None, alias="dscpId") @@ -67,10 +64,13 @@ class AgentToAgentTestRequest(BaseModel): fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") bgp_measurements: Optional[StrictBool] = Field(default=True, description="Set to `true` to enable bgp measurements.", alias="bgpMeasurements") use_public_bgp: Optional[StrictBool] = Field(default=True, description="Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value.", alias="usePublicBgp") - monitors: Optional[List[StrictStr]] = Field(default=None, description="Contains list of BGP monitor IDs (get `monitorId` from `/monitors` endpoint)") + labels: Optional[List[StrictStr]] = Field(default=None, description="Contains list of test label IDs (get `labelId` from `/labels` endpoint)") tags: Optional[List[StrictStr]] = Field(default=None, description="Contains list of test tag IDs (get `id` from `/tags` endpoint).") + shared_with_accounts: Optional[List[StrictStr]] = Field(default=None, description="Contains list of account group IDs. Test is shared with the listed account groups (get `aid` from `/account-groups` endpoint)", alias="sharedWithAccounts") + alert_rules: Optional[List[StrictStr]] = Field(default=None, description="List of alert rules IDs to apply to the test (get `ruleId` from `/alerts/rules` endpoint. If `alertsEnabled` is set to `true` and `alertRules` is not included on test creation or update, applicable user default alert rules will be used)", alias="alertRules") agents: List[TestAgentRequest] = Field(description="Contains list of Agent IDs (get `agentId` from `/agents` endpoint).") - __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "direction", "dscp", "dscpId", "mss", "numPathTraces", "pathTraceMode", "port", "protocol", "randomizedStartTime", "targetAgentId", "throughputMeasurements", "throughputDuration", "throughputRate", "fixedPacketRate", "bgpMeasurements", "usePublicBgp", "monitors", "tags", "agents"] + monitors: Optional[List[StrictStr]] = Field(default=None, description="Contains list of BGP monitor IDs (get `monitorId` from `/monitors` endpoint)") + __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "direction", "dscp", "dscpId", "mss", "numPathTraces", "pathTraceMode", "port", "protocol", "randomizedStartTime", "targetAgentId", "throughputMeasurements", "throughputDuration", "throughputRate", "fixedPacketRate", "bgpMeasurements", "usePublicBgp", "labels", "tags", "sharedWithAccounts", "alertRules", "agents", "monitors"] model_config = ConfigDict( populate_by_name=True, @@ -155,7 +155,6 @@ class AgentToAgentTestRequest(BaseModel): "interval": obj.get("interval"), "alertsEnabled": obj.get("alertsEnabled"), "enabled": obj.get("enabled") if obj.get("enabled") is not None else True, - "alertRules": obj.get("alertRules"), "createdBy": obj.get("createdBy"), "createdDate": obj.get("createdDate"), "description": obj.get("description"), @@ -167,8 +166,6 @@ class AgentToAgentTestRequest(BaseModel): "testName": obj.get("testName"), "type": obj.get("type"), "_links": TestLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, - "labels": obj.get("labels"), - "sharedWithAccounts": obj.get("sharedWithAccounts"), "direction": obj.get("direction"), "dscp": obj.get("dscp"), "dscpId": obj.get("dscpId"), @@ -185,9 +182,12 @@ class AgentToAgentTestRequest(BaseModel): "fixedPacketRate": obj.get("fixedPacketRate"), "bgpMeasurements": obj.get("bgpMeasurements") if obj.get("bgpMeasurements") is not None else True, "usePublicBgp": obj.get("usePublicBgp") if obj.get("usePublicBgp") is not None else True, - "monitors": obj.get("monitors"), + "labels": obj.get("labels"), "tags": obj.get("tags"), - "agents": [TestAgentRequest.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None + "sharedWithAccounts": obj.get("sharedWithAccounts"), + "alertRules": obj.get("alertRules"), + "agents": [TestAgentRequest.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None, + "monitors": obj.get("monitors") }) return _obj diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/agent_to_server_test_request.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/agent_to_server_test_request.py index 83de0ac3..d8bd7f93 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/agent_to_server_test_request.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/agent_to_server_test_request.py @@ -38,7 +38,6 @@ class AgentToServerTestRequest(BaseModel): interval: TestInterval alerts_enabled: Optional[StrictBool] = Field(default=None, description="Indicates if alerts are enabled.", alias="alertsEnabled") enabled: Optional[StrictBool] = Field(default=True, description="Test is enabled.") - alert_rules: Optional[List[StrictStr]] = Field(default=None, description="List of alert rules IDs to apply to the test (get `ruleId` from `/alerts/rules` endpoint. If `alertsEnabled` is set to `true` and `alertRules` is not included on test creation or update, applicable user default alert rules will be used)", alias="alertRules") created_by: Optional[StrictStr] = Field(default=None, description="User that created the test.", alias="createdBy") created_date: Optional[datetime] = Field(default=None, description="UTC created date (ISO date-time format).", alias="createdDate") description: Optional[StrictStr] = Field(default=None, description="A description of the test.") @@ -50,8 +49,6 @@ class AgentToServerTestRequest(BaseModel): test_name: Optional[StrictStr] = Field(default=None, description="The name of the test. Test name must be unique.", alias="testName") type: Optional[StrictStr] = None links: Optional[TestLinks] = Field(default=None, alias="_links") - labels: Optional[List[StrictStr]] = Field(default=None, description="Contains list of test label IDs (get `labelId` from `/labels` endpoint)") - shared_with_accounts: Optional[List[StrictStr]] = Field(default=None, description="Contains list of account group IDs. Test is shared with the listed account groups (get `aid` from `/account-groups` endpoint)", alias="sharedWithAccounts") bandwidth_measurements: Optional[StrictBool] = Field(default=None, description="Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test.", alias="bandwidthMeasurements") continuous_mode: Optional[StrictBool] = Field(default=None, description="To enable continuous monitoring, set this parameter to `true` to. When continuous monitoring is enabled, the following actions occur: * `fixedPacketRate` is enforced * `bandwidthMeasurements` are disabled * If the `protocol` is set to `tcp`, `probeMode` is set to `syn`. ", alias="continuousMode") fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="If continuousMode is `false`, set the fixedPacketRate to a value between 10-100. If `continuousMode` is `true`, set the `fixedPacketRate` to `1`", alias="fixedPacketRate") @@ -69,11 +66,14 @@ class AgentToServerTestRequest(BaseModel): network_measurements: Optional[StrictBool] = Field(default=False, description="View packet loss in 1-second intervals. This is only available for 1-minute interval tests. Set to `true` to enable network measurements.", alias="networkMeasurements") bgp_measurements: Optional[StrictBool] = Field(default=True, description="Set to `true` to enable bgp measurements.", alias="bgpMeasurements") use_public_bgp: Optional[StrictBool] = Field(default=True, description="Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value.", alias="usePublicBgp") - monitors: Optional[List[StrictStr]] = Field(default=None, description="Contains list of BGP monitor IDs (get `monitorId` from `/monitors` endpoint)") + labels: Optional[List[StrictStr]] = Field(default=None, description="Contains list of test label IDs (get `labelId` from `/labels` endpoint)") tags: Optional[List[StrictStr]] = Field(default=None, description="Contains list of test tag IDs (get `id` from `/tags` endpoint).") + shared_with_accounts: Optional[List[StrictStr]] = Field(default=None, description="Contains list of account group IDs. Test is shared with the listed account groups (get `aid` from `/account-groups` endpoint)", alias="sharedWithAccounts") + alert_rules: Optional[List[StrictStr]] = Field(default=None, description="List of alert rules IDs to apply to the test (get `ruleId` from `/alerts/rules` endpoint. If `alertsEnabled` is set to `true` and `alertRules` is not included on test creation or update, applicable user default alert rules will be used)", alias="alertRules") agents: List[TestAgentRequest] = Field(description="Contains list of Agent IDs (get `agentId` from `/agents` endpoint).") + monitors: Optional[List[StrictStr]] = Field(default=None, description="Contains list of BGP monitor IDs (get `monitorId` from `/monitors` endpoint)") port: Optional[StrictInt] = Field(default=None, description="Port number to use for the test. The default port is 80.") - __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "bandwidthMeasurements", "continuousMode", "fixedPacketRate", "mtuMeasurements", "numPathTraces", "pathTraceMode", "probeMode", "protocol", "randomizedStartTime", "server", "dscp", "dscpId", "ipv6Policy", "pingPayloadSize", "networkMeasurements", "bgpMeasurements", "usePublicBgp", "monitors", "tags", "agents", "port"] + __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "bandwidthMeasurements", "continuousMode", "fixedPacketRate", "mtuMeasurements", "numPathTraces", "pathTraceMode", "probeMode", "protocol", "randomizedStartTime", "server", "dscp", "dscpId", "ipv6Policy", "pingPayloadSize", "networkMeasurements", "bgpMeasurements", "usePublicBgp", "labels", "tags", "sharedWithAccounts", "alertRules", "agents", "monitors", "port"] model_config = ConfigDict( populate_by_name=True, @@ -158,7 +158,6 @@ class AgentToServerTestRequest(BaseModel): "interval": obj.get("interval"), "alertsEnabled": obj.get("alertsEnabled"), "enabled": obj.get("enabled") if obj.get("enabled") is not None else True, - "alertRules": obj.get("alertRules"), "createdBy": obj.get("createdBy"), "createdDate": obj.get("createdDate"), "description": obj.get("description"), @@ -170,8 +169,6 @@ class AgentToServerTestRequest(BaseModel): "testName": obj.get("testName"), "type": obj.get("type"), "_links": TestLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, - "labels": obj.get("labels"), - "sharedWithAccounts": obj.get("sharedWithAccounts"), "bandwidthMeasurements": obj.get("bandwidthMeasurements"), "continuousMode": obj.get("continuousMode"), "fixedPacketRate": obj.get("fixedPacketRate"), @@ -189,9 +186,12 @@ class AgentToServerTestRequest(BaseModel): "networkMeasurements": obj.get("networkMeasurements") if obj.get("networkMeasurements") is not None else False, "bgpMeasurements": obj.get("bgpMeasurements") if obj.get("bgpMeasurements") is not None else True, "usePublicBgp": obj.get("usePublicBgp") if obj.get("usePublicBgp") is not None else True, - "monitors": obj.get("monitors"), + "labels": obj.get("labels"), "tags": obj.get("tags"), + "sharedWithAccounts": obj.get("sharedWithAccounts"), + "alertRules": obj.get("alertRules"), "agents": [TestAgentRequest.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None, + "monitors": obj.get("monitors"), "port": obj.get("port") }) return _obj diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/api_instant_test.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/api_instant_test.py index 474e118e..8c8e0f6d 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/api_instant_test.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/api_instant_test.py @@ -29,6 +29,7 @@ from thousandeyes_sdk.tests.models.test_path_trace_mode import TestPathTraceMode from thousandeyes_sdk.tests.models.test_probe_mode import TestProbeMode from thousandeyes_sdk.tests.models.test_protocol import TestProtocol from thousandeyes_sdk.tests.models.test_ssl_version_id import TestSslVersionId +from thousandeyes_sdk.tests.models.test_vault_credential import TestVaultCredential from typing import Optional, Set from typing_extensions import Self @@ -70,7 +71,8 @@ class ApiInstantTest(BaseModel): time_limit: Optional[Annotated[int, Field(le=180, strict=True, ge=5)]] = Field(default=30, description="Time limit for transaction in seconds. Exceeding this limit will result in a Timeout error.", alias="timeLimit") url: StrictStr = Field(description="Target for the test.") credentials: Optional[List[StrictStr]] = Field(default=None, description="Contains a list of credential IDs (get `credentialId` from `/credentials` endpoint).") - __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "clientCertificate", "clientCertDomainsAllowList", "collectProxyNetworkData", "distributedTracing", "followRedirects", "mtuMeasurements", "networkMeasurements", "numPathTraces", "overrideAgentProxy", "overrideProxyId", "pathTraceMode", "predefinedVariables", "probeMode", "protocol", "randomizedStartTime", "requests", "sslVersionId", "targetTime", "timeLimit", "url", "credentials"] + vault_credentials: Optional[List[TestVaultCredential]] = Field(default=None, description="List of credential IDs that are stored in an external vault.", alias="vaultCredentials") + __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "clientCertificate", "clientCertDomainsAllowList", "collectProxyNetworkData", "distributedTracing", "followRedirects", "mtuMeasurements", "networkMeasurements", "numPathTraces", "overrideAgentProxy", "overrideProxyId", "pathTraceMode", "predefinedVariables", "probeMode", "protocol", "randomizedStartTime", "requests", "sslVersionId", "targetTime", "timeLimit", "url", "credentials", "vaultCredentials"] model_config = ConfigDict( populate_by_name=True, @@ -163,6 +165,13 @@ class ApiInstantTest(BaseModel): if _item: _items.append(_item.to_dict()) _dict['requests'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in vault_credentials (list) + _items = [] + if self.vault_credentials: + for _item in self.vault_credentials: + if _item: + _items.append(_item.to_dict()) + _dict['vaultCredentials'] = _items return _dict @classmethod @@ -208,7 +217,8 @@ class ApiInstantTest(BaseModel): "targetTime": obj.get("targetTime"), "timeLimit": obj.get("timeLimit") if obj.get("timeLimit") is not None else 30, "url": obj.get("url"), - "credentials": obj.get("credentials") + "credentials": obj.get("credentials"), + "vaultCredentials": [TestVaultCredential.from_dict(_item) for _item in obj["vaultCredentials"]] if obj.get("vaultCredentials") is not None else None }) return _obj diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/api_test.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/api_test.py index a46e1f20..2a06aeae 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/api_test.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/api_test.py @@ -32,6 +32,7 @@ from thousandeyes_sdk.tests.models.test_path_trace_mode import TestPathTraceMode from thousandeyes_sdk.tests.models.test_probe_mode import TestProbeMode from thousandeyes_sdk.tests.models.test_protocol import TestProtocol from thousandeyes_sdk.tests.models.test_ssl_version_id import TestSslVersionId +from thousandeyes_sdk.tests.models.test_vault_credential import TestVaultCredential from typing import Optional, Set from typing_extensions import Self @@ -77,10 +78,11 @@ class ApiTest(BaseModel): time_limit: Optional[Annotated[int, Field(le=180, strict=True, ge=5)]] = Field(default=30, description="Time limit for transaction in seconds. Exceeding this limit will result in a Timeout error.", alias="timeLimit") url: StrictStr = Field(description="Target for the test.") credentials: Optional[List[StrictStr]] = Field(default=None, description="Contains a list of credential IDs (get `credentialId` from `/credentials` endpoint).") + vault_credentials: Optional[List[TestVaultCredential]] = Field(default=None, description="List of credential IDs that are stored in an external vault.", alias="vaultCredentials") bgp_measurements: Optional[StrictBool] = Field(default=True, description="Set to `true` to enable bgp measurements.", alias="bgpMeasurements") use_public_bgp: Optional[StrictBool] = Field(default=True, description="Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value.", alias="usePublicBgp") monitors: Optional[List[Monitor]] = Field(default=None, description="Contains list of enabled BGP monitors.") - __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "clientCertificate", "clientCertDomainsAllowList", "collectProxyNetworkData", "distributedTracing", "followRedirects", "mtuMeasurements", "networkMeasurements", "numPathTraces", "overrideAgentProxy", "overrideProxyId", "pathTraceMode", "predefinedVariables", "probeMode", "protocol", "randomizedStartTime", "requests", "sslVersionId", "targetTime", "timeLimit", "url", "credentials", "bgpMeasurements", "usePublicBgp", "monitors"] + __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "clientCertificate", "clientCertDomainsAllowList", "collectProxyNetworkData", "distributedTracing", "followRedirects", "mtuMeasurements", "networkMeasurements", "numPathTraces", "overrideAgentProxy", "overrideProxyId", "pathTraceMode", "predefinedVariables", "probeMode", "protocol", "randomizedStartTime", "requests", "sslVersionId", "targetTime", "timeLimit", "url", "credentials", "vaultCredentials", "bgpMeasurements", "usePublicBgp", "monitors"] model_config = ConfigDict( populate_by_name=True, @@ -182,6 +184,13 @@ class ApiTest(BaseModel): if _item: _items.append(_item.to_dict()) _dict['requests'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in vault_credentials (list) + _items = [] + if self.vault_credentials: + for _item in self.vault_credentials: + if _item: + _items.append(_item.to_dict()) + _dict['vaultCredentials'] = _items # override the default output from pydantic by calling `to_dict()` of each item in monitors (list) _items = [] if self.monitors: @@ -239,6 +248,7 @@ class ApiTest(BaseModel): "timeLimit": obj.get("timeLimit") if obj.get("timeLimit") is not None else 30, "url": obj.get("url"), "credentials": obj.get("credentials"), + "vaultCredentials": [TestVaultCredential.from_dict(_item) for _item in obj["vaultCredentials"]] if obj.get("vaultCredentials") is not None else None, "bgpMeasurements": obj.get("bgpMeasurements") if obj.get("bgpMeasurements") is not None else True, "usePublicBgp": obj.get("usePublicBgp") if obj.get("usePublicBgp") is not None else True, "monitors": [Monitor.from_dict(_item) for _item in obj["monitors"]] if obj.get("monitors") is not None else None diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/api_test_request.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/api_test_request.py index c85d0443..e5e81c8b 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/api_test_request.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/api_test_request.py @@ -22,7 +22,6 @@ from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated from thousandeyes_sdk.tests.models.api_predefined_variable import ApiPredefinedVariable from thousandeyes_sdk.tests.models.api_request import ApiRequest -from thousandeyes_sdk.tests.models.monitor import Monitor from thousandeyes_sdk.tests.models.test_agent_request import TestAgentRequest from thousandeyes_sdk.tests.models.test_interval import TestInterval from thousandeyes_sdk.tests.models.test_links import TestLinks @@ -30,6 +29,7 @@ from thousandeyes_sdk.tests.models.test_path_trace_mode import TestPathTraceMode from thousandeyes_sdk.tests.models.test_probe_mode import TestProbeMode from thousandeyes_sdk.tests.models.test_protocol import TestProtocol from thousandeyes_sdk.tests.models.test_ssl_version_id import TestSslVersionId +from thousandeyes_sdk.tests.models.test_vault_credential import TestVaultCredential from typing import Optional, Set from typing_extensions import Self @@ -40,7 +40,6 @@ class ApiTestRequest(BaseModel): interval: TestInterval alerts_enabled: Optional[StrictBool] = Field(default=None, description="Indicates if alerts are enabled.", alias="alertsEnabled") enabled: Optional[StrictBool] = Field(default=True, description="Test is enabled.") - alert_rules: Optional[List[StrictStr]] = Field(default=None, description="List of alert rules IDs to apply to the test (get `ruleId` from `/alerts/rules` endpoint. If `alertsEnabled` is set to `true` and `alertRules` is not included on test creation or update, applicable user default alert rules will be used)", alias="alertRules") created_by: Optional[StrictStr] = Field(default=None, description="User that created the test.", alias="createdBy") created_date: Optional[datetime] = Field(default=None, description="UTC created date (ISO date-time format).", alias="createdDate") description: Optional[StrictStr] = Field(default=None, description="A description of the test.") @@ -52,8 +51,6 @@ class ApiTestRequest(BaseModel): test_name: Optional[StrictStr] = Field(default=None, description="The name of the test. Test name must be unique.", alias="testName") type: Optional[StrictStr] = None links: Optional[TestLinks] = Field(default=None, alias="_links") - labels: Optional[List[StrictStr]] = Field(default=None, description="Contains list of test label IDs (get `labelId` from `/labels` endpoint)") - shared_with_accounts: Optional[List[StrictStr]] = Field(default=None, description="Contains list of account group IDs. Test is shared with the listed account groups (get `aid` from `/account-groups` endpoint)", alias="sharedWithAccounts") client_certificate: Optional[StrictStr] = Field(default=None, description="String representation (containing newline characters) of client certificate, the private key must be placed first, then the certificate.", alias="clientCertificate") client_cert_domains_allow_list: Optional[StrictStr] = Field(default=None, description="Comma separated list of domains to send the client certificate.", alias="clientCertDomainsAllowList") collect_proxy_network_data: Optional[StrictBool] = Field(default=False, description="Indicates whether network data to the proxy should be collected.", alias="collectProxyNetworkData") @@ -74,13 +71,17 @@ class ApiTestRequest(BaseModel): target_time: Optional[Annotated[int, Field(le=60, strict=True, ge=0)]] = Field(default=None, description="Target time for completion metric, defaults to 50% of time limit specified in seconds. (0 means default behavior)", alias="targetTime") time_limit: Optional[Annotated[int, Field(le=180, strict=True, ge=5)]] = Field(default=30, description="Time limit for transaction in seconds. Exceeding this limit will result in a Timeout error.", alias="timeLimit") url: StrictStr = Field(description="Target for the test.") - credentials: Optional[List[StrictStr]] = Field(default=None, description="Contains a list of credential IDs (get `credentialId` from `/credentials` endpoint).") bgp_measurements: Optional[StrictBool] = Field(default=True, description="Set to `true` to enable bgp measurements.", alias="bgpMeasurements") use_public_bgp: Optional[StrictBool] = Field(default=True, description="Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value.", alias="usePublicBgp") - monitors: Optional[List[Monitor]] = Field(default=None, description="Contains list of enabled BGP monitors.") + labels: Optional[List[StrictStr]] = Field(default=None, description="Contains list of test label IDs (get `labelId` from `/labels` endpoint)") tags: Optional[List[StrictStr]] = Field(default=None, description="Contains list of test tag IDs (get `id` from `/tags` endpoint).") + shared_with_accounts: Optional[List[StrictStr]] = Field(default=None, description="Contains list of account group IDs. Test is shared with the listed account groups (get `aid` from `/account-groups` endpoint)", alias="sharedWithAccounts") + alert_rules: Optional[List[StrictStr]] = Field(default=None, description="List of alert rules IDs to apply to the test (get `ruleId` from `/alerts/rules` endpoint. If `alertsEnabled` is set to `true` and `alertRules` is not included on test creation or update, applicable user default alert rules will be used)", alias="alertRules") agents: List[TestAgentRequest] = Field(description="Contains list of Agent IDs (get `agentId` from `/agents` endpoint).") - __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "clientCertificate", "clientCertDomainsAllowList", "collectProxyNetworkData", "distributedTracing", "followRedirects", "mtuMeasurements", "networkMeasurements", "numPathTraces", "overrideAgentProxy", "overrideProxyId", "pathTraceMode", "predefinedVariables", "probeMode", "protocol", "randomizedStartTime", "requests", "sslVersionId", "targetTime", "timeLimit", "url", "credentials", "bgpMeasurements", "usePublicBgp", "monitors", "tags", "agents"] + monitors: Optional[List[StrictStr]] = Field(default=None, description="Contains list of BGP monitor IDs (get `monitorId` from `/monitors` endpoint)") + credentials: Optional[List[StrictStr]] = Field(default=None, description="Contains a list of credential IDs (get `credentialId` from `/credentials` endpoint).") + vault_credentials: Optional[List[TestVaultCredential]] = Field(default=None, description="List of credential IDs that are stored in an external vault.", alias="vaultCredentials") + __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "clientCertificate", "clientCertDomainsAllowList", "collectProxyNetworkData", "distributedTracing", "followRedirects", "mtuMeasurements", "networkMeasurements", "numPathTraces", "overrideAgentProxy", "overrideProxyId", "pathTraceMode", "predefinedVariables", "probeMode", "protocol", "randomizedStartTime", "requests", "sslVersionId", "targetTime", "timeLimit", "url", "bgpMeasurements", "usePublicBgp", "labels", "tags", "sharedWithAccounts", "alertRules", "agents", "monitors", "credentials", "vaultCredentials"] model_config = ConfigDict( populate_by_name=True, @@ -121,7 +122,6 @@ class ApiTestRequest(BaseModel): * OpenAPI `readOnly` fields are excluded. * OpenAPI `readOnly` fields are excluded. * OpenAPI `readOnly` fields are excluded. - * OpenAPI `readOnly` fields are excluded. """ excluded_fields: Set[str] = set([ "created_by", @@ -132,7 +132,6 @@ class ApiTestRequest(BaseModel): "saved_event", "test_id", "type", - "monitors", ]) _dict = self.model_dump( @@ -157,13 +156,6 @@ class ApiTestRequest(BaseModel): if _item: _items.append(_item.to_dict()) _dict['requests'] = _items - # override the default output from pydantic by calling `to_dict()` of each item in monitors (list) - _items = [] - if self.monitors: - for _item in self.monitors: - if _item: - _items.append(_item.to_dict()) - _dict['monitors'] = _items # override the default output from pydantic by calling `to_dict()` of each item in agents (list) _items = [] if self.agents: @@ -171,6 +163,13 @@ class ApiTestRequest(BaseModel): if _item: _items.append(_item.to_dict()) _dict['agents'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in vault_credentials (list) + _items = [] + if self.vault_credentials: + for _item in self.vault_credentials: + if _item: + _items.append(_item.to_dict()) + _dict['vaultCredentials'] = _items return _dict @classmethod @@ -186,7 +185,6 @@ class ApiTestRequest(BaseModel): "interval": obj.get("interval"), "alertsEnabled": obj.get("alertsEnabled"), "enabled": obj.get("enabled") if obj.get("enabled") is not None else True, - "alertRules": obj.get("alertRules"), "createdBy": obj.get("createdBy"), "createdDate": obj.get("createdDate"), "description": obj.get("description"), @@ -198,8 +196,6 @@ class ApiTestRequest(BaseModel): "testName": obj.get("testName"), "type": obj.get("type"), "_links": TestLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, - "labels": obj.get("labels"), - "sharedWithAccounts": obj.get("sharedWithAccounts"), "clientCertificate": obj.get("clientCertificate"), "clientCertDomainsAllowList": obj.get("clientCertDomainsAllowList"), "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False, @@ -220,12 +216,16 @@ class ApiTestRequest(BaseModel): "targetTime": obj.get("targetTime"), "timeLimit": obj.get("timeLimit") if obj.get("timeLimit") is not None else 30, "url": obj.get("url"), - "credentials": obj.get("credentials"), "bgpMeasurements": obj.get("bgpMeasurements") if obj.get("bgpMeasurements") is not None else True, "usePublicBgp": obj.get("usePublicBgp") if obj.get("usePublicBgp") is not None else True, - "monitors": [Monitor.from_dict(_item) for _item in obj["monitors"]] if obj.get("monitors") is not None else None, + "labels": obj.get("labels"), "tags": obj.get("tags"), - "agents": [TestAgentRequest.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None + "sharedWithAccounts": obj.get("sharedWithAccounts"), + "alertRules": obj.get("alertRules"), + "agents": [TestAgentRequest.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None, + "monitors": obj.get("monitors"), + "credentials": obj.get("credentials"), + "vaultCredentials": [TestVaultCredential.from_dict(_item) for _item in obj["vaultCredentials"]] if obj.get("vaultCredentials") is not None else None }) return _obj diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/api_test_response.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/api_test_response.py index a084649c..60e72f08 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/api_test_response.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/api_test_response.py @@ -33,6 +33,7 @@ from thousandeyes_sdk.tests.models.test_path_trace_mode import TestPathTraceMode from thousandeyes_sdk.tests.models.test_probe_mode import TestProbeMode from thousandeyes_sdk.tests.models.test_protocol import TestProtocol from thousandeyes_sdk.tests.models.test_ssl_version_id import TestSslVersionId +from thousandeyes_sdk.tests.models.test_vault_credential import TestVaultCredential from typing import Optional, Set from typing_extensions import Self @@ -78,11 +79,12 @@ class ApiTestResponse(BaseModel): time_limit: Optional[Annotated[int, Field(le=180, strict=True, ge=5)]] = Field(default=30, description="Time limit for transaction in seconds. Exceeding this limit will result in a Timeout error.", alias="timeLimit") url: StrictStr = Field(description="Target for the test.") credentials: Optional[List[StrictStr]] = Field(default=None, description="Contains a list of credential IDs (get `credentialId` from `/credentials` endpoint).") + vault_credentials: Optional[List[TestVaultCredential]] = Field(default=None, description="List of credential IDs that are stored in an external vault.", alias="vaultCredentials") bgp_measurements: Optional[StrictBool] = Field(default=True, description="Set to `true` to enable bgp measurements.", alias="bgpMeasurements") use_public_bgp: Optional[StrictBool] = Field(default=True, description="Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value.", alias="usePublicBgp") monitors: Optional[List[Monitor]] = Field(default=None, description="Contains list of enabled BGP monitors.") agents: Optional[List[AgentResponse]] = Field(default=None, description="Contains list of agents.") - __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "clientCertificate", "clientCertDomainsAllowList", "collectProxyNetworkData", "distributedTracing", "followRedirects", "mtuMeasurements", "networkMeasurements", "numPathTraces", "overrideAgentProxy", "overrideProxyId", "pathTraceMode", "predefinedVariables", "probeMode", "protocol", "randomizedStartTime", "requests", "sslVersionId", "targetTime", "timeLimit", "url", "credentials", "bgpMeasurements", "usePublicBgp", "monitors", "agents"] + __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "clientCertificate", "clientCertDomainsAllowList", "collectProxyNetworkData", "distributedTracing", "followRedirects", "mtuMeasurements", "networkMeasurements", "numPathTraces", "overrideAgentProxy", "overrideProxyId", "pathTraceMode", "predefinedVariables", "probeMode", "protocol", "randomizedStartTime", "requests", "sslVersionId", "targetTime", "timeLimit", "url", "credentials", "vaultCredentials", "bgpMeasurements", "usePublicBgp", "monitors", "agents"] model_config = ConfigDict( populate_by_name=True, @@ -184,6 +186,13 @@ class ApiTestResponse(BaseModel): if _item: _items.append(_item.to_dict()) _dict['requests'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in vault_credentials (list) + _items = [] + if self.vault_credentials: + for _item in self.vault_credentials: + if _item: + _items.append(_item.to_dict()) + _dict['vaultCredentials'] = _items # override the default output from pydantic by calling `to_dict()` of each item in monitors (list) _items = [] if self.monitors: @@ -248,6 +257,7 @@ class ApiTestResponse(BaseModel): "timeLimit": obj.get("timeLimit") if obj.get("timeLimit") is not None else 30, "url": obj.get("url"), "credentials": obj.get("credentials"), + "vaultCredentials": [TestVaultCredential.from_dict(_item) for _item in obj["vaultCredentials"]] if obj.get("vaultCredentials") is not None else None, "bgpMeasurements": obj.get("bgpMeasurements") if obj.get("bgpMeasurements") is not None else True, "usePublicBgp": obj.get("usePublicBgp") if obj.get("usePublicBgp") is not None else True, "monitors": [Monitor.from_dict(_item) for _item in obj["monitors"]] if obj.get("monitors") is not None else None, diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/base_bgp_request.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/base_bgp_request.py new file mode 100644 index 00000000..62fa3845 --- /dev/null +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/base_bgp_request.py @@ -0,0 +1,136 @@ +# coding: utf-8 + +""" + Tests API + + **Note:** The Page Load Tests, API Tests, and Web Transaction Tests APIs are not available for ThousandEyes for Government instance. This API allows you to list, create, edit, and delete Network and Application Synthetics tests. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import datetime +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from thousandeyes_sdk.tests.models.test_links import TestLinks +from typing import Optional, Set +from typing_extensions import Self + +class BaseBgpRequest(BaseModel): + """ + BaseBgpRequest + """ # noqa: E501 + created_by: Optional[StrictStr] = Field(default=None, description="User that created the test.", alias="createdBy") + created_date: Optional[datetime] = Field(default=None, description="UTC created date (ISO date-time format).", alias="createdDate") + description: Optional[StrictStr] = Field(default=None, description="A description of the test.") + live_share: Optional[StrictBool] = Field(default=None, description="Indicates if the test is shared with the account group.", alias="liveShare") + modified_by: Optional[StrictStr] = Field(default=None, description="User that modified the test.", alias="modifiedBy") + modified_date: Optional[datetime] = Field(default=None, description="UTC last modification date (ISO date-time format).", alias="modifiedDate") + saved_event: Optional[StrictBool] = Field(default=None, description="Indicates if the test is a saved event. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API. ", alias="savedEvent") + test_id: Optional[StrictStr] = Field(default=None, description="Each test is assigned an unique ID; this is used to access test information and results from other endpoints.", alias="testId") + test_name: Optional[StrictStr] = Field(default=None, description="The name of the test. Test name must be unique.", alias="testName") + type: Optional[StrictStr] = None + links: Optional[TestLinks] = Field(default=None, alias="_links") + enabled: Optional[StrictBool] = Field(default=True, description="Test is enabled.") + include_covered_prefixes: Optional[StrictBool] = Field(default=None, description="Indicate if queries for subprefixes detected under this prefix should included.", alias="includeCoveredPrefixes") + use_public_bgp: Optional[StrictBool] = Field(default=True, description="Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value.", alias="usePublicBgp") + alerts_enabled: Optional[StrictBool] = Field(default=None, description="Indicates if alerts are enabled.", alias="alertsEnabled") + __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "enabled", "includeCoveredPrefixes", "usePublicBgp", "alertsEnabled"] + + 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 BaseBgpRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "created_by", + "created_date", + "live_share", + "modified_by", + "modified_date", + "saved_event", + "test_id", + "type", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of links + if self.links: + _dict['_links'] = self.links.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of BaseBgpRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "createdBy": obj.get("createdBy"), + "createdDate": obj.get("createdDate"), + "description": obj.get("description"), + "liveShare": obj.get("liveShare"), + "modifiedBy": obj.get("modifiedBy"), + "modifiedDate": obj.get("modifiedDate"), + "savedEvent": obj.get("savedEvent"), + "testId": obj.get("testId"), + "testName": obj.get("testName"), + "type": obj.get("type"), + "_links": TestLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, + "enabled": obj.get("enabled") if obj.get("enabled") is not None else True, + "includeCoveredPrefixes": obj.get("includeCoveredPrefixes"), + "usePublicBgp": obj.get("usePublicBgp") if obj.get("usePublicBgp") is not None else True, + "alertsEnabled": obj.get("alertsEnabled") + }) + return _obj + + diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/bgp_test_request.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/bgp_test_request.py index 5a7eb9c5..cfe0eaf0 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/bgp_test_request.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/bgp_test_request.py @@ -38,17 +38,17 @@ class BgpTestRequest(BaseModel): test_name: Optional[StrictStr] = Field(default=None, description="The name of the test. Test name must be unique.", alias="testName") type: Optional[StrictStr] = None links: Optional[TestLinks] = Field(default=None, alias="_links") - labels: Optional[List[StrictStr]] = Field(default=None, description="Contains list of test label IDs (get `labelId` from `/labels` endpoint)") - shared_with_accounts: Optional[List[StrictStr]] = Field(default=None, description="Contains list of account group IDs. Test is shared with the listed account groups (get `aid` from `/account-groups` endpoint)", alias="sharedWithAccounts") enabled: Optional[StrictBool] = Field(default=True, description="Test is enabled.") - monitors: Optional[List[StrictStr]] = Field(default=None, description="Contains list of BGP monitor IDs (get `monitorId` from `/monitors` endpoint)") include_covered_prefixes: Optional[StrictBool] = Field(default=None, description="Indicate if queries for subprefixes detected under this prefix should included.", alias="includeCoveredPrefixes") use_public_bgp: Optional[StrictBool] = Field(default=True, description="Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value.", alias="usePublicBgp") alerts_enabled: Optional[StrictBool] = Field(default=None, description="Indicates if alerts are enabled.", alias="alertsEnabled") - alert_rules: Optional[List[StrictStr]] = Field(default=None, description="List of alert rules IDs to apply to the test (get `ruleId` from `/alerts/rules` endpoint. If `alertsEnabled` is set to `true` and `alertRules` is not included on test creation or update, applicable user default alert rules will be used)", alias="alertRules") prefix: StrictStr = Field(description="a.b.c.d is a network address, with the prefix length defined as e. Prefixes can be any length from 8 to 24.") + labels: Optional[List[StrictStr]] = Field(default=None, description="Contains list of test label IDs (get `labelId` from `/labels` endpoint)") tags: Optional[List[StrictStr]] = Field(default=None, description="Contains list of test tag IDs (get `id` from `/tags` endpoint).") - __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "enabled", "monitors", "includeCoveredPrefixes", "usePublicBgp", "alertsEnabled", "alertRules", "prefix", "tags"] + shared_with_accounts: Optional[List[StrictStr]] = Field(default=None, description="Contains list of account group IDs. Test is shared with the listed account groups (get `aid` from `/account-groups` endpoint)", alias="sharedWithAccounts") + alert_rules: Optional[List[StrictStr]] = Field(default=None, description="List of alert rules IDs to apply to the test (get `ruleId` from `/alerts/rules` endpoint. If `alertsEnabled` is set to `true` and `alertRules` is not included on test creation or update, applicable user default alert rules will be used)", alias="alertRules") + monitors: Optional[List[StrictStr]] = Field(default=None, description="Contains list of BGP monitor IDs (get `monitorId` from `/monitors` endpoint)") + __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "enabled", "includeCoveredPrefixes", "usePublicBgp", "alertsEnabled", "prefix", "labels", "tags", "sharedWithAccounts", "alertRules", "monitors"] model_config = ConfigDict( populate_by_name=True, @@ -132,16 +132,16 @@ class BgpTestRequest(BaseModel): "testName": obj.get("testName"), "type": obj.get("type"), "_links": TestLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, - "labels": obj.get("labels"), - "sharedWithAccounts": obj.get("sharedWithAccounts"), "enabled": obj.get("enabled") if obj.get("enabled") is not None else True, - "monitors": obj.get("monitors"), "includeCoveredPrefixes": obj.get("includeCoveredPrefixes"), "usePublicBgp": obj.get("usePublicBgp") if obj.get("usePublicBgp") is not None else True, "alertsEnabled": obj.get("alertsEnabled"), - "alertRules": obj.get("alertRules"), "prefix": obj.get("prefix"), - "tags": obj.get("tags") + "labels": obj.get("labels"), + "tags": obj.get("tags"), + "sharedWithAccounts": obj.get("sharedWithAccounts"), + "alertRules": obj.get("alertRules"), + "monitors": obj.get("monitors") }) return _obj diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_sec_test_request.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_sec_test_request.py index cfc3605e..71002559 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_sec_test_request.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_sec_test_request.py @@ -33,7 +33,6 @@ class DnsSecTestRequest(BaseModel): interval: TestInterval alerts_enabled: Optional[StrictBool] = Field(default=None, description="Indicates if alerts are enabled.", alias="alertsEnabled") enabled: Optional[StrictBool] = Field(default=True, description="Test is enabled.") - alert_rules: Optional[List[StrictStr]] = Field(default=None, description="List of alert rules IDs to apply to the test (get `ruleId` from `/alerts/rules` endpoint. If `alertsEnabled` is set to `true` and `alertRules` is not included on test creation or update, applicable user default alert rules will be used)", alias="alertRules") created_by: Optional[StrictStr] = Field(default=None, description="User that created the test.", alias="createdBy") created_date: Optional[datetime] = Field(default=None, description="UTC created date (ISO date-time format).", alias="createdDate") description: Optional[StrictStr] = Field(default=None, description="A description of the test.") @@ -45,14 +44,15 @@ class DnsSecTestRequest(BaseModel): test_name: Optional[StrictStr] = Field(default=None, description="The name of the test. Test name must be unique.", alias="testName") type: Optional[StrictStr] = None links: Optional[TestLinks] = Field(default=None, alias="_links") - labels: Optional[List[StrictStr]] = Field(default=None, description="Contains list of test label IDs (get `labelId` from `/labels` endpoint)") - shared_with_accounts: Optional[List[StrictStr]] = Field(default=None, description="Contains list of account group IDs. Test is shared with the listed account groups (get `aid` from `/account-groups` endpoint)", alias="sharedWithAccounts") domain: StrictStr = Field(description="The target record for the test, with the record type suffixed. If no record type is specified, the test defaults to an ANY record.") dns_query_class: Optional[DnsQueryClass] = Field(default=None, alias="dnsQueryClass") randomized_start_time: Optional[StrictBool] = Field(default=False, description="Indicates whether agents should randomize the start time in each test round.", alias="randomizedStartTime") + labels: Optional[List[StrictStr]] = Field(default=None, description="Contains list of test label IDs (get `labelId` from `/labels` endpoint)") tags: Optional[List[StrictStr]] = Field(default=None, description="Contains list of test tag IDs (get `id` from `/tags` endpoint).") + shared_with_accounts: Optional[List[StrictStr]] = Field(default=None, description="Contains list of account group IDs. Test is shared with the listed account groups (get `aid` from `/account-groups` endpoint)", alias="sharedWithAccounts") + alert_rules: Optional[List[StrictStr]] = Field(default=None, description="List of alert rules IDs to apply to the test (get `ruleId` from `/alerts/rules` endpoint. If `alertsEnabled` is set to `true` and `alertRules` is not included on test creation or update, applicable user default alert rules will be used)", alias="alertRules") agents: List[TestAgentRequest] = Field(description="Contains list of Agent IDs (get `agentId` from `/agents` endpoint).") - __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "domain", "dnsQueryClass", "randomizedStartTime", "tags", "agents"] + __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "domain", "dnsQueryClass", "randomizedStartTime", "labels", "tags", "sharedWithAccounts", "alertRules", "agents"] model_config = ConfigDict( populate_by_name=True, @@ -135,7 +135,6 @@ class DnsSecTestRequest(BaseModel): "interval": obj.get("interval"), "alertsEnabled": obj.get("alertsEnabled"), "enabled": obj.get("enabled") if obj.get("enabled") is not None else True, - "alertRules": obj.get("alertRules"), "createdBy": obj.get("createdBy"), "createdDate": obj.get("createdDate"), "description": obj.get("description"), @@ -147,12 +146,13 @@ class DnsSecTestRequest(BaseModel): "testName": obj.get("testName"), "type": obj.get("type"), "_links": TestLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, - "labels": obj.get("labels"), - "sharedWithAccounts": obj.get("sharedWithAccounts"), "domain": obj.get("domain"), "dnsQueryClass": obj.get("dnsQueryClass"), "randomizedStartTime": obj.get("randomizedStartTime") if obj.get("randomizedStartTime") is not None else False, + "labels": obj.get("labels"), "tags": obj.get("tags"), + "sharedWithAccounts": obj.get("sharedWithAccounts"), + "alertRules": obj.get("alertRules"), "agents": [TestAgentRequest.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None }) return _obj diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_server_request_properties.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_server_request_properties.py new file mode 100644 index 00000000..b3449662 --- /dev/null +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_server_request_properties.py @@ -0,0 +1,126 @@ +# coding: utf-8 + +""" + Tests API + + **Note:** The Page Load Tests, API Tests, and Web Transaction Tests APIs are not available for ThousandEyes for Government instance. This API allows you to list, create, edit, and delete Network and Application Synthetics tests. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing_extensions import Annotated +from thousandeyes_sdk.tests.models.dns_query_class import DnsQueryClass +from thousandeyes_sdk.tests.models.test_dns_transport_protocol import TestDnsTransportProtocol +from thousandeyes_sdk.tests.models.test_ipv6_policy import TestIpv6Policy +from thousandeyes_sdk.tests.models.test_path_trace_mode import TestPathTraceMode +from thousandeyes_sdk.tests.models.test_probe_mode import TestProbeMode +from thousandeyes_sdk.tests.models.test_protocol import TestProtocol +from typing import Optional, Set +from typing_extensions import Self + +class DnsServerRequestProperties(BaseModel): + """ + DnsServerRequestProperties + """ # noqa: E501 + bandwidth_measurements: Optional[StrictBool] = Field(default=None, description="Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test.", alias="bandwidthMeasurements") + dns_servers: List[StrictStr] = Field(description="A list of DNS server FQDN.", alias="dnsServers") + dns_transport_protocol: Optional[TestDnsTransportProtocol] = Field(default=None, alias="dnsTransportProtocol") + domain: StrictStr = Field(description="The target record for the test, with the record type suffixed. If no record type is specified, the test defaults to an ANY record.") + mtu_measurements: Optional[StrictBool] = Field(default=None, description="Set `true` to measure MTU sizes on network from agents to the target.", alias="mtuMeasurements") + network_measurements: Optional[StrictBool] = Field(default=True, description="Enable or disable network measurements. Set to true to enable or false to disable network measurements.", alias="networkMeasurements") + num_path_traces: Optional[Annotated[int, Field(le=10, strict=True, ge=1)]] = Field(default=3, description="Number of path traces executed by the agent.", alias="numPathTraces") + path_trace_mode: Optional[TestPathTraceMode] = Field(default=None, alias="pathTraceMode") + probe_mode: Optional[TestProbeMode] = Field(default=None, alias="probeMode") + protocol: Optional[TestProtocol] = None + randomized_start_time: Optional[StrictBool] = Field(default=False, description="Indicates whether agents should randomize the start time in each test round.", alias="randomizedStartTime") + recursive_queries: Optional[StrictBool] = Field(default=None, description="Set true to run query with RD (recursion desired) flag enabled.", alias="recursiveQueries") + ipv6_policy: Optional[TestIpv6Policy] = Field(default=None, alias="ipv6Policy") + fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") + dns_query_class: Optional[DnsQueryClass] = Field(default=None, alias="dnsQueryClass") + type: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["bandwidthMeasurements", "dnsServers", "dnsTransportProtocol", "domain", "mtuMeasurements", "networkMeasurements", "numPathTraces", "pathTraceMode", "probeMode", "protocol", "randomizedStartTime", "recursiveQueries", "ipv6Policy", "fixedPacketRate", "dnsQueryClass", "type"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + extra="allow", + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return self.model_dump_json(by_alias=True, exclude_unset=True, exclude_none=True) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DnsServerRequestProperties from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "type", + ]) + + _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 DnsServerRequestProperties from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "bandwidthMeasurements": obj.get("bandwidthMeasurements"), + "dnsServers": obj.get("dnsServers"), + "dnsTransportProtocol": obj.get("dnsTransportProtocol"), + "domain": obj.get("domain"), + "mtuMeasurements": obj.get("mtuMeasurements"), + "networkMeasurements": obj.get("networkMeasurements") if obj.get("networkMeasurements") is not None else True, + "numPathTraces": obj.get("numPathTraces") if obj.get("numPathTraces") is not None else 3, + "pathTraceMode": obj.get("pathTraceMode"), + "probeMode": obj.get("probeMode"), + "protocol": obj.get("protocol"), + "randomizedStartTime": obj.get("randomizedStartTime") if obj.get("randomizedStartTime") is not None else False, + "recursiveQueries": obj.get("recursiveQueries"), + "ipv6Policy": obj.get("ipv6Policy"), + "fixedPacketRate": obj.get("fixedPacketRate"), + "dnsQueryClass": obj.get("dnsQueryClass"), + "type": obj.get("type") + }) + return _obj + + diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_server_test_request.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_server_test_request.py index 56d55b58..16752896 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_server_test_request.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_server_test_request.py @@ -39,7 +39,6 @@ class DnsServerTestRequest(BaseModel): interval: TestInterval alerts_enabled: Optional[StrictBool] = Field(default=None, description="Indicates if alerts are enabled.", alias="alertsEnabled") enabled: Optional[StrictBool] = Field(default=True, description="Test is enabled.") - alert_rules: Optional[List[StrictStr]] = Field(default=None, description="List of alert rules IDs to apply to the test (get `ruleId` from `/alerts/rules` endpoint. If `alertsEnabled` is set to `true` and `alertRules` is not included on test creation or update, applicable user default alert rules will be used)", alias="alertRules") created_by: Optional[StrictStr] = Field(default=None, description="User that created the test.", alias="createdBy") created_date: Optional[datetime] = Field(default=None, description="UTC created date (ISO date-time format).", alias="createdDate") description: Optional[StrictStr] = Field(default=None, description="A description of the test.") @@ -51,8 +50,6 @@ class DnsServerTestRequest(BaseModel): test_name: Optional[StrictStr] = Field(default=None, description="The name of the test. Test name must be unique.", alias="testName") type: Optional[StrictStr] = None links: Optional[TestLinks] = Field(default=None, alias="_links") - labels: Optional[List[StrictStr]] = Field(default=None, description="Contains list of test label IDs (get `labelId` from `/labels` endpoint)") - shared_with_accounts: Optional[List[StrictStr]] = Field(default=None, description="Contains list of account group IDs. Test is shared with the listed account groups (get `aid` from `/account-groups` endpoint)", alias="sharedWithAccounts") bandwidth_measurements: Optional[StrictBool] = Field(default=None, description="Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test.", alias="bandwidthMeasurements") dns_servers: List[StrictStr] = Field(description="A list of DNS server FQDN.", alias="dnsServers") dns_transport_protocol: Optional[TestDnsTransportProtocol] = Field(default=None, alias="dnsTransportProtocol") @@ -70,10 +67,13 @@ class DnsServerTestRequest(BaseModel): dns_query_class: Optional[DnsQueryClass] = Field(default=None, alias="dnsQueryClass") bgp_measurements: Optional[StrictBool] = Field(default=True, description="Set to `true` to enable bgp measurements.", alias="bgpMeasurements") use_public_bgp: Optional[StrictBool] = Field(default=True, description="Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value.", alias="usePublicBgp") - monitors: Optional[List[StrictStr]] = Field(default=None, description="Contains list of BGP monitor IDs (get `monitorId` from `/monitors` endpoint)") + labels: Optional[List[StrictStr]] = Field(default=None, description="Contains list of test label IDs (get `labelId` from `/labels` endpoint)") tags: Optional[List[StrictStr]] = Field(default=None, description="Contains list of test tag IDs (get `id` from `/tags` endpoint).") + shared_with_accounts: Optional[List[StrictStr]] = Field(default=None, description="Contains list of account group IDs. Test is shared with the listed account groups (get `aid` from `/account-groups` endpoint)", alias="sharedWithAccounts") + alert_rules: Optional[List[StrictStr]] = Field(default=None, description="List of alert rules IDs to apply to the test (get `ruleId` from `/alerts/rules` endpoint. If `alertsEnabled` is set to `true` and `alertRules` is not included on test creation or update, applicable user default alert rules will be used)", alias="alertRules") agents: List[TestAgentRequest] = Field(description="Contains list of Agent IDs (get `agentId` from `/agents` endpoint).") - __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "bandwidthMeasurements", "dnsServers", "dnsTransportProtocol", "domain", "mtuMeasurements", "networkMeasurements", "numPathTraces", "pathTraceMode", "probeMode", "protocol", "randomizedStartTime", "recursiveQueries", "ipv6Policy", "fixedPacketRate", "dnsQueryClass", "bgpMeasurements", "usePublicBgp", "monitors", "tags", "agents"] + monitors: Optional[List[StrictStr]] = Field(default=None, description="Contains list of BGP monitor IDs (get `monitorId` from `/monitors` endpoint)") + __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "bandwidthMeasurements", "dnsServers", "dnsTransportProtocol", "domain", "mtuMeasurements", "networkMeasurements", "numPathTraces", "pathTraceMode", "probeMode", "protocol", "randomizedStartTime", "recursiveQueries", "ipv6Policy", "fixedPacketRate", "dnsQueryClass", "bgpMeasurements", "usePublicBgp", "labels", "tags", "sharedWithAccounts", "alertRules", "agents", "monitors"] model_config = ConfigDict( populate_by_name=True, @@ -156,7 +156,6 @@ class DnsServerTestRequest(BaseModel): "interval": obj.get("interval"), "alertsEnabled": obj.get("alertsEnabled"), "enabled": obj.get("enabled") if obj.get("enabled") is not None else True, - "alertRules": obj.get("alertRules"), "createdBy": obj.get("createdBy"), "createdDate": obj.get("createdDate"), "description": obj.get("description"), @@ -168,8 +167,6 @@ class DnsServerTestRequest(BaseModel): "testName": obj.get("testName"), "type": obj.get("type"), "_links": TestLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, - "labels": obj.get("labels"), - "sharedWithAccounts": obj.get("sharedWithAccounts"), "bandwidthMeasurements": obj.get("bandwidthMeasurements"), "dnsServers": obj.get("dnsServers"), "dnsTransportProtocol": obj.get("dnsTransportProtocol"), @@ -187,9 +184,12 @@ class DnsServerTestRequest(BaseModel): "dnsQueryClass": obj.get("dnsQueryClass"), "bgpMeasurements": obj.get("bgpMeasurements") if obj.get("bgpMeasurements") is not None else True, "usePublicBgp": obj.get("usePublicBgp") if obj.get("usePublicBgp") is not None else True, - "monitors": obj.get("monitors"), + "labels": obj.get("labels"), "tags": obj.get("tags"), - "agents": [TestAgentRequest.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None + "sharedWithAccounts": obj.get("sharedWithAccounts"), + "alertRules": obj.get("alertRules"), + "agents": [TestAgentRequest.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None, + "monitors": obj.get("monitors") }) return _obj diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_trace_test_request.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_trace_test_request.py index d8844878..0a25938c 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_trace_test_request.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_trace_test_request.py @@ -34,7 +34,6 @@ class DnsTraceTestRequest(BaseModel): interval: TestInterval alerts_enabled: Optional[StrictBool] = Field(default=None, description="Indicates if alerts are enabled.", alias="alertsEnabled") enabled: Optional[StrictBool] = Field(default=True, description="Test is enabled.") - alert_rules: Optional[List[StrictStr]] = Field(default=None, description="List of alert rules IDs to apply to the test (get `ruleId` from `/alerts/rules` endpoint. If `alertsEnabled` is set to `true` and `alertRules` is not included on test creation or update, applicable user default alert rules will be used)", alias="alertRules") created_by: Optional[StrictStr] = Field(default=None, description="User that created the test.", alias="createdBy") created_date: Optional[datetime] = Field(default=None, description="UTC created date (ISO date-time format).", alias="createdDate") description: Optional[StrictStr] = Field(default=None, description="A description of the test.") @@ -46,15 +45,16 @@ class DnsTraceTestRequest(BaseModel): test_name: Optional[StrictStr] = Field(default=None, description="The name of the test. Test name must be unique.", alias="testName") type: Optional[StrictStr] = None links: Optional[TestLinks] = Field(default=None, alias="_links") - labels: Optional[List[StrictStr]] = Field(default=None, description="Contains list of test label IDs (get `labelId` from `/labels` endpoint)") - shared_with_accounts: Optional[List[StrictStr]] = Field(default=None, description="Contains list of account group IDs. Test is shared with the listed account groups (get `aid` from `/account-groups` endpoint)", alias="sharedWithAccounts") dns_transport_protocol: Optional[TestDnsTransportProtocol] = Field(default=None, alias="dnsTransportProtocol") domain: StrictStr = Field(description="The target record for the test, with the record type suffixed. If no record type is specified, the test defaults to an ANY record.") dns_query_class: Optional[DnsQueryClass] = Field(default=None, alias="dnsQueryClass") randomized_start_time: Optional[StrictBool] = Field(default=False, description="Indicates whether agents should randomize the start time in each test round.", alias="randomizedStartTime") + labels: Optional[List[StrictStr]] = Field(default=None, description="Contains list of test label IDs (get `labelId` from `/labels` endpoint)") tags: Optional[List[StrictStr]] = Field(default=None, description="Contains list of test tag IDs (get `id` from `/tags` endpoint).") + shared_with_accounts: Optional[List[StrictStr]] = Field(default=None, description="Contains list of account group IDs. Test is shared with the listed account groups (get `aid` from `/account-groups` endpoint)", alias="sharedWithAccounts") + alert_rules: Optional[List[StrictStr]] = Field(default=None, description="List of alert rules IDs to apply to the test (get `ruleId` from `/alerts/rules` endpoint. If `alertsEnabled` is set to `true` and `alertRules` is not included on test creation or update, applicable user default alert rules will be used)", alias="alertRules") agents: List[TestAgentRequest] = Field(description="Contains list of Agent IDs (get `agentId` from `/agents` endpoint).") - __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "dnsTransportProtocol", "domain", "dnsQueryClass", "randomizedStartTime", "tags", "agents"] + __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "dnsTransportProtocol", "domain", "dnsQueryClass", "randomizedStartTime", "labels", "tags", "sharedWithAccounts", "alertRules", "agents"] model_config = ConfigDict( populate_by_name=True, @@ -137,7 +137,6 @@ class DnsTraceTestRequest(BaseModel): "interval": obj.get("interval"), "alertsEnabled": obj.get("alertsEnabled"), "enabled": obj.get("enabled") if obj.get("enabled") is not None else True, - "alertRules": obj.get("alertRules"), "createdBy": obj.get("createdBy"), "createdDate": obj.get("createdDate"), "description": obj.get("description"), @@ -149,13 +148,14 @@ class DnsTraceTestRequest(BaseModel): "testName": obj.get("testName"), "type": obj.get("type"), "_links": TestLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, - "labels": obj.get("labels"), - "sharedWithAccounts": obj.get("sharedWithAccounts"), "dnsTransportProtocol": obj.get("dnsTransportProtocol"), "domain": obj.get("domain"), "dnsQueryClass": obj.get("dnsQueryClass"), "randomizedStartTime": obj.get("randomizedStartTime") if obj.get("randomizedStartTime") is not None else False, + "labels": obj.get("labels"), "tags": obj.get("tags"), + "sharedWithAccounts": obj.get("sharedWithAccounts"), + "alertRules": obj.get("alertRules"), "agents": [TestAgentRequest.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None }) return _obj diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/ftp_server_test_request.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/ftp_server_test_request.py index bf980a46..77f1c604 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/ftp_server_test_request.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/ftp_server_test_request.py @@ -38,7 +38,6 @@ class FtpServerTestRequest(BaseModel): interval: TestInterval alerts_enabled: Optional[StrictBool] = Field(default=None, description="Indicates if alerts are enabled.", alias="alertsEnabled") enabled: Optional[StrictBool] = Field(default=True, description="Test is enabled.") - alert_rules: Optional[List[StrictStr]] = Field(default=None, description="List of alert rules IDs to apply to the test (get `ruleId` from `/alerts/rules` endpoint. If `alertsEnabled` is set to `true` and `alertRules` is not included on test creation or update, applicable user default alert rules will be used)", alias="alertRules") created_by: Optional[StrictStr] = Field(default=None, description="User that created the test.", alias="createdBy") created_date: Optional[datetime] = Field(default=None, description="UTC created date (ISO date-time format).", alias="createdDate") description: Optional[StrictStr] = Field(default=None, description="A description of the test.") @@ -50,8 +49,6 @@ class FtpServerTestRequest(BaseModel): test_name: Optional[StrictStr] = Field(default=None, description="The name of the test. Test name must be unique.", alias="testName") type: Optional[StrictStr] = None links: Optional[TestLinks] = Field(default=None, alias="_links") - labels: Optional[List[StrictStr]] = Field(default=None, description="Contains list of test label IDs (get `labelId` from `/labels` endpoint)") - shared_with_accounts: Optional[List[StrictStr]] = Field(default=None, description="Contains list of account group IDs. Test is shared with the listed account groups (get `aid` from `/account-groups` endpoint)", alias="sharedWithAccounts") bandwidth_measurements: Optional[StrictBool] = Field(default=None, description="Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test.", alias="bandwidthMeasurements") download_limit: Optional[StrictInt] = Field(default=None, description="Specify maximum number of bytes to download from the target object.", alias="downloadLimit") ftp_target_time: Optional[Annotated[int, Field(le=6000, strict=True, ge=1000)]] = Field(default=None, description="Target time for operation completion; specified in milliseconds.", alias="ftpTargetTime") @@ -73,10 +70,13 @@ class FtpServerTestRequest(BaseModel): ipv6_policy: Optional[TestIpv6Policy] = Field(default=None, alias="ipv6Policy") bgp_measurements: Optional[StrictBool] = Field(default=True, description="Set to `true` to enable bgp measurements.", alias="bgpMeasurements") use_public_bgp: Optional[StrictBool] = Field(default=True, description="Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value.", alias="usePublicBgp") - monitors: Optional[List[StrictStr]] = Field(default=None, description="Contains list of BGP monitor IDs (get `monitorId` from `/monitors` endpoint)") + labels: Optional[List[StrictStr]] = Field(default=None, description="Contains list of test label IDs (get `labelId` from `/labels` endpoint)") tags: Optional[List[StrictStr]] = Field(default=None, description="Contains list of test tag IDs (get `id` from `/tags` endpoint).") + shared_with_accounts: Optional[List[StrictStr]] = Field(default=None, description="Contains list of account group IDs. Test is shared with the listed account groups (get `aid` from `/account-groups` endpoint)", alias="sharedWithAccounts") + alert_rules: Optional[List[StrictStr]] = Field(default=None, description="List of alert rules IDs to apply to the test (get `ruleId` from `/alerts/rules` endpoint. If `alertsEnabled` is set to `true` and `alertRules` is not included on test creation or update, applicable user default alert rules will be used)", alias="alertRules") agents: List[TestAgentRequest] = Field(description="Contains list of Agent IDs (get `agentId` from `/agents` endpoint).") - __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "bandwidthMeasurements", "downloadLimit", "ftpTargetTime", "ftpTimeLimit", "mtuMeasurements", "networkMeasurements", "numPathTraces", "password", "pathTraceMode", "probeMode", "protocol", "randomizedStartTime", "requestType", "url", "useActiveFtp", "useExplicitFtps", "username", "fixedPacketRate", "ipv6Policy", "bgpMeasurements", "usePublicBgp", "monitors", "tags", "agents"] + monitors: Optional[List[StrictStr]] = Field(default=None, description="Contains list of BGP monitor IDs (get `monitorId` from `/monitors` endpoint)") + __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "bandwidthMeasurements", "downloadLimit", "ftpTargetTime", "ftpTimeLimit", "mtuMeasurements", "networkMeasurements", "numPathTraces", "password", "pathTraceMode", "probeMode", "protocol", "randomizedStartTime", "requestType", "url", "useActiveFtp", "useExplicitFtps", "username", "fixedPacketRate", "ipv6Policy", "bgpMeasurements", "usePublicBgp", "labels", "tags", "sharedWithAccounts", "alertRules", "agents", "monitors"] model_config = ConfigDict( populate_by_name=True, @@ -159,7 +159,6 @@ class FtpServerTestRequest(BaseModel): "interval": obj.get("interval"), "alertsEnabled": obj.get("alertsEnabled"), "enabled": obj.get("enabled") if obj.get("enabled") is not None else True, - "alertRules": obj.get("alertRules"), "createdBy": obj.get("createdBy"), "createdDate": obj.get("createdDate"), "description": obj.get("description"), @@ -171,8 +170,6 @@ class FtpServerTestRequest(BaseModel): "testName": obj.get("testName"), "type": obj.get("type"), "_links": TestLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, - "labels": obj.get("labels"), - "sharedWithAccounts": obj.get("sharedWithAccounts"), "bandwidthMeasurements": obj.get("bandwidthMeasurements"), "downloadLimit": obj.get("downloadLimit"), "ftpTargetTime": obj.get("ftpTargetTime"), @@ -194,9 +191,12 @@ class FtpServerTestRequest(BaseModel): "ipv6Policy": obj.get("ipv6Policy"), "bgpMeasurements": obj.get("bgpMeasurements") if obj.get("bgpMeasurements") is not None else True, "usePublicBgp": obj.get("usePublicBgp") if obj.get("usePublicBgp") is not None else True, - "monitors": obj.get("monitors"), + "labels": obj.get("labels"), "tags": obj.get("tags"), - "agents": [TestAgentRequest.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None + "sharedWithAccounts": obj.get("sharedWithAccounts"), + "alertRules": obj.get("alertRules"), + "agents": [TestAgentRequest.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None, + "monitors": obj.get("monitors") }) return _obj diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/http_server_base_properties.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/http_server_base_properties.py index 099698f5..0f14502a 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/http_server_base_properties.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/http_server_base_properties.py @@ -27,6 +27,7 @@ from thousandeyes_sdk.tests.models.test_path_trace_mode import TestPathTraceMode from thousandeyes_sdk.tests.models.test_probe_mode import TestProbeMode from thousandeyes_sdk.tests.models.test_protocol import TestProtocol from thousandeyes_sdk.tests.models.test_ssl_version_id import TestSslVersionId +from thousandeyes_sdk.tests.models.test_vault_credential import TestVaultCredential from typing import Optional, Set from typing_extensions import Self @@ -69,7 +70,8 @@ class HttpServerBaseProperties(BaseModel): override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") collect_proxy_network_data: Optional[StrictBool] = Field(default=False, description="Indicates whether network data to the proxy should be collected.", alias="collectProxyNetworkData") - __properties: ClassVar[List[str]] = ["authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "distributedTracing", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData"] + vault_credentials: Optional[List[TestVaultCredential]] = Field(default=None, description="List of credential IDs that are stored in an external vault.", alias="vaultCredentials") + __properties: ClassVar[List[str]] = ["authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "distributedTracing", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "vaultCredentials"] model_config = ConfigDict( populate_by_name=True, @@ -122,6 +124,13 @@ class HttpServerBaseProperties(BaseModel): # override the default output from pydantic by calling `to_dict()` of o_auth if self.o_auth: _dict['oAuth'] = self.o_auth.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in vault_credentials (list) + _items = [] + if self.vault_credentials: + for _item in self.vault_credentials: + if _item: + _items.append(_item.to_dict()) + _dict['vaultCredentials'] = _items return _dict @classmethod @@ -168,7 +177,8 @@ class HttpServerBaseProperties(BaseModel): "fixedPacketRate": obj.get("fixedPacketRate"), "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, "overrideProxyId": obj.get("overrideProxyId"), - "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False + "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False, + "vaultCredentials": [TestVaultCredential.from_dict(_item) for _item in obj["vaultCredentials"]] if obj.get("vaultCredentials") is not None else None }) return _obj diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/http_server_instant_test.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/http_server_instant_test.py index f2b3243f..a28deec3 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/http_server_instant_test.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/http_server_instant_test.py @@ -32,6 +32,7 @@ from thousandeyes_sdk.tests.models.test_path_trace_mode import TestPathTraceMode from thousandeyes_sdk.tests.models.test_probe_mode import TestProbeMode from thousandeyes_sdk.tests.models.test_protocol import TestProtocol from thousandeyes_sdk.tests.models.test_ssl_version_id import TestSslVersionId +from thousandeyes_sdk.tests.models.test_vault_credential import TestVaultCredential from typing import Optional, Set from typing_extensions import Self @@ -87,11 +88,12 @@ class HttpServerInstantTest(BaseModel): override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") collect_proxy_network_data: Optional[StrictBool] = Field(default=False, description="Indicates whether network data to the proxy should be collected.", alias="collectProxyNetworkData") + vault_credentials: Optional[List[TestVaultCredential]] = Field(default=None, description="List of credential IDs that are stored in an external vault.", alias="vaultCredentials") headers: Optional[List[StrictStr]] = Field(default=None, description="HTTP request headers used.") randomized_start_time: Optional[StrictBool] = Field(default=False, description="Indicates whether agents should randomize the start time in each test round.", alias="randomizedStartTime") post_body: Optional[StrictStr] = Field(default=None, description="Enter the body for the HTTP POST request in this field. No special escaping is necessary. If the post body is provided with content, the `requestMethod` is automatically set to POST.", alias="postBody") ipv6_policy: Optional[TestIpv6Policy] = Field(default=None, alias="ipv6Policy") - __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "distributedTracing", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "headers", "randomizedStartTime", "postBody", "ipv6Policy"] + __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "distributedTracing", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "vaultCredentials", "headers", "randomizedStartTime", "postBody", "ipv6Policy"] model_config = ConfigDict( populate_by_name=True, @@ -181,6 +183,13 @@ class HttpServerInstantTest(BaseModel): # override the default output from pydantic by calling `to_dict()` of o_auth if self.o_auth: _dict['oAuth'] = self.o_auth.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in vault_credentials (list) + _items = [] + if self.vault_credentials: + for _item in self.vault_credentials: + if _item: + _items.append(_item.to_dict()) + _dict['vaultCredentials'] = _items return _dict @classmethod @@ -241,6 +250,7 @@ class HttpServerInstantTest(BaseModel): "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, "overrideProxyId": obj.get("overrideProxyId"), "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False, + "vaultCredentials": [TestVaultCredential.from_dict(_item) for _item in obj["vaultCredentials"]] if obj.get("vaultCredentials") is not None else None, "headers": obj.get("headers"), "randomizedStartTime": obj.get("randomizedStartTime") if obj.get("randomizedStartTime") is not None else False, "postBody": obj.get("postBody"), diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/http_server_properties.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/http_server_properties.py index 3a6c4605..a2a0c34f 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/http_server_properties.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/http_server_properties.py @@ -28,6 +28,7 @@ from thousandeyes_sdk.tests.models.test_path_trace_mode import TestPathTraceMode from thousandeyes_sdk.tests.models.test_probe_mode import TestProbeMode from thousandeyes_sdk.tests.models.test_protocol import TestProtocol from thousandeyes_sdk.tests.models.test_ssl_version_id import TestSslVersionId +from thousandeyes_sdk.tests.models.test_vault_credential import TestVaultCredential from typing import Optional, Set from typing_extensions import Self @@ -70,12 +71,13 @@ class HttpServerProperties(BaseModel): override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") collect_proxy_network_data: Optional[StrictBool] = Field(default=False, description="Indicates whether network data to the proxy should be collected.", alias="collectProxyNetworkData") + vault_credentials: Optional[List[TestVaultCredential]] = Field(default=None, description="List of credential IDs that are stored in an external vault.", alias="vaultCredentials") headers: Optional[List[StrictStr]] = Field(default=None, description="HTTP request headers used.") randomized_start_time: Optional[StrictBool] = Field(default=False, description="Indicates whether agents should randomize the start time in each test round.", alias="randomizedStartTime") post_body: Optional[StrictStr] = Field(default=None, description="Enter the body for the HTTP POST request in this field. No special escaping is necessary. If the post body is provided with content, the `requestMethod` is automatically set to POST.", alias="postBody") ipv6_policy: Optional[TestIpv6Policy] = Field(default=None, alias="ipv6Policy") type: Optional[StrictStr] = None - __properties: ClassVar[List[str]] = ["authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "distributedTracing", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "headers", "randomizedStartTime", "postBody", "ipv6Policy", "type"] + __properties: ClassVar[List[str]] = ["authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "distributedTracing", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "vaultCredentials", "headers", "randomizedStartTime", "postBody", "ipv6Policy", "type"] model_config = ConfigDict( populate_by_name=True, @@ -130,6 +132,13 @@ class HttpServerProperties(BaseModel): # override the default output from pydantic by calling `to_dict()` of o_auth if self.o_auth: _dict['oAuth'] = self.o_auth.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in vault_credentials (list) + _items = [] + if self.vault_credentials: + for _item in self.vault_credentials: + if _item: + _items.append(_item.to_dict()) + _dict['vaultCredentials'] = _items return _dict @classmethod @@ -177,6 +186,7 @@ class HttpServerProperties(BaseModel): "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, "overrideProxyId": obj.get("overrideProxyId"), "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False, + "vaultCredentials": [TestVaultCredential.from_dict(_item) for _item in obj["vaultCredentials"]] if obj.get("vaultCredentials") is not None else None, "headers": obj.get("headers"), "randomizedStartTime": obj.get("randomizedStartTime") if obj.get("randomizedStartTime") is not None else False, "postBody": obj.get("postBody"), diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/http_server_test.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/http_server_test.py index 7ad8aa06..19a637a5 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/http_server_test.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/http_server_test.py @@ -35,6 +35,7 @@ from thousandeyes_sdk.tests.models.test_path_trace_mode import TestPathTraceMode from thousandeyes_sdk.tests.models.test_probe_mode import TestProbeMode from thousandeyes_sdk.tests.models.test_protocol import TestProtocol from thousandeyes_sdk.tests.models.test_ssl_version_id import TestSslVersionId +from thousandeyes_sdk.tests.models.test_vault_credential import TestVaultCredential from typing import Optional, Set from typing_extensions import Self @@ -94,6 +95,7 @@ class HttpServerTest(BaseModel): override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") collect_proxy_network_data: Optional[StrictBool] = Field(default=False, description="Indicates whether network data to the proxy should be collected.", alias="collectProxyNetworkData") + vault_credentials: Optional[List[TestVaultCredential]] = Field(default=None, description="List of credential IDs that are stored in an external vault.", alias="vaultCredentials") headers: Optional[List[StrictStr]] = Field(default=None, description="HTTP request headers used.") randomized_start_time: Optional[StrictBool] = Field(default=False, description="Indicates whether agents should randomize the start time in each test round.", alias="randomizedStartTime") post_body: Optional[StrictStr] = Field(default=None, description="Enter the body for the HTTP POST request in this field. No special escaping is necessary. If the post body is provided with content, the `requestMethod` is automatically set to POST.", alias="postBody") @@ -101,7 +103,7 @@ class HttpServerTest(BaseModel): bgp_measurements: Optional[StrictBool] = Field(default=True, description="Set to `true` to enable bgp measurements.", alias="bgpMeasurements") use_public_bgp: Optional[StrictBool] = Field(default=True, description="Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value.", alias="usePublicBgp") monitors: Optional[List[Monitor]] = Field(default=None, description="Contains list of enabled BGP monitors.") - __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "distributedTracing", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "headers", "randomizedStartTime", "postBody", "ipv6Policy", "bgpMeasurements", "usePublicBgp", "monitors"] + __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "distributedTracing", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "vaultCredentials", "headers", "randomizedStartTime", "postBody", "ipv6Policy", "bgpMeasurements", "usePublicBgp", "monitors"] model_config = ConfigDict( populate_by_name=True, @@ -200,6 +202,13 @@ class HttpServerTest(BaseModel): # override the default output from pydantic by calling `to_dict()` of o_auth if self.o_auth: _dict['oAuth'] = self.o_auth.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in vault_credentials (list) + _items = [] + if self.vault_credentials: + for _item in self.vault_credentials: + if _item: + _items.append(_item.to_dict()) + _dict['vaultCredentials'] = _items # override the default output from pydantic by calling `to_dict()` of each item in monitors (list) _items = [] if self.monitors: @@ -271,6 +280,7 @@ class HttpServerTest(BaseModel): "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, "overrideProxyId": obj.get("overrideProxyId"), "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False, + "vaultCredentials": [TestVaultCredential.from_dict(_item) for _item in obj["vaultCredentials"]] if obj.get("vaultCredentials") is not None else None, "headers": obj.get("headers"), "randomizedStartTime": obj.get("randomizedStartTime") if obj.get("randomizedStartTime") is not None else False, "postBody": obj.get("postBody"), diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/http_server_test_request.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/http_server_test_request.py index cac58905..c2d083f8 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/http_server_test_request.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/http_server_test_request.py @@ -32,6 +32,7 @@ from thousandeyes_sdk.tests.models.test_path_trace_mode import TestPathTraceMode from thousandeyes_sdk.tests.models.test_probe_mode import TestProbeMode from thousandeyes_sdk.tests.models.test_protocol import TestProtocol from thousandeyes_sdk.tests.models.test_ssl_version_id import TestSslVersionId +from thousandeyes_sdk.tests.models.test_vault_credential import TestVaultCredential from typing import Optional, Set from typing_extensions import Self @@ -42,7 +43,6 @@ class HttpServerTestRequest(BaseModel): interval: TestInterval alerts_enabled: Optional[StrictBool] = Field(default=None, description="Indicates if alerts are enabled.", alias="alertsEnabled") enabled: Optional[StrictBool] = Field(default=True, description="Test is enabled.") - alert_rules: Optional[List[StrictStr]] = Field(default=None, description="List of alert rules IDs to apply to the test (get `ruleId` from `/alerts/rules` endpoint. If `alertsEnabled` is set to `true` and `alertRules` is not included on test creation or update, applicable user default alert rules will be used)", alias="alertRules") created_by: Optional[StrictStr] = Field(default=None, description="User that created the test.", alias="createdBy") created_date: Optional[datetime] = Field(default=None, description="UTC created date (ISO date-time format).", alias="createdDate") description: Optional[StrictStr] = Field(default=None, description="A description of the test.") @@ -54,8 +54,6 @@ class HttpServerTestRequest(BaseModel): test_name: Optional[StrictStr] = Field(default=None, description="The name of the test. Test name must be unique.", alias="testName") type: Optional[StrictStr] = None links: Optional[TestLinks] = Field(default=None, alias="_links") - labels: Optional[List[StrictStr]] = Field(default=None, description="Contains list of test label IDs (get `labelId` from `/labels` endpoint)") - shared_with_accounts: Optional[List[StrictStr]] = Field(default=None, description="Contains list of account group IDs. Test is shared with the listed account groups (get `aid` from `/account-groups` endpoint)", alias="sharedWithAccounts") auth_type: Optional[TestAuthType] = Field(default=None, alias="authType") agent_interfaces: Optional[AgentInterfaces] = Field(default=None, alias="agentInterfaces") bandwidth_measurements: Optional[StrictBool] = Field(default=None, description="Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test.", alias="bandwidthMeasurements") @@ -91,16 +89,20 @@ class HttpServerTestRequest(BaseModel): override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") collect_proxy_network_data: Optional[StrictBool] = Field(default=False, description="Indicates whether network data to the proxy should be collected.", alias="collectProxyNetworkData") + vault_credentials: Optional[List[TestVaultCredential]] = Field(default=None, description="List of credential IDs that are stored in an external vault.", alias="vaultCredentials") headers: Optional[List[StrictStr]] = Field(default=None, description="HTTP request headers used.") randomized_start_time: Optional[StrictBool] = Field(default=False, description="Indicates whether agents should randomize the start time in each test round.", alias="randomizedStartTime") post_body: Optional[StrictStr] = Field(default=None, description="Enter the body for the HTTP POST request in this field. No special escaping is necessary. If the post body is provided with content, the `requestMethod` is automatically set to POST.", alias="postBody") ipv6_policy: Optional[TestIpv6Policy] = Field(default=None, alias="ipv6Policy") bgp_measurements: Optional[StrictBool] = Field(default=True, description="Set to `true` to enable bgp measurements.", alias="bgpMeasurements") use_public_bgp: Optional[StrictBool] = Field(default=True, description="Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value.", alias="usePublicBgp") - monitors: Optional[List[StrictStr]] = Field(default=None, description="Contains list of BGP monitor IDs (get `monitorId` from `/monitors` endpoint)") + labels: Optional[List[StrictStr]] = Field(default=None, description="Contains list of test label IDs (get `labelId` from `/labels` endpoint)") tags: Optional[List[StrictStr]] = Field(default=None, description="Contains list of test tag IDs (get `id` from `/tags` endpoint).") + shared_with_accounts: Optional[List[StrictStr]] = Field(default=None, description="Contains list of account group IDs. Test is shared with the listed account groups (get `aid` from `/account-groups` endpoint)", alias="sharedWithAccounts") + alert_rules: Optional[List[StrictStr]] = Field(default=None, description="List of alert rules IDs to apply to the test (get `ruleId` from `/alerts/rules` endpoint. If `alertsEnabled` is set to `true` and `alertRules` is not included on test creation or update, applicable user default alert rules will be used)", alias="alertRules") agents: List[TestAgentRequest] = Field(description="Contains list of Agent IDs (get `agentId` from `/agents` endpoint).") - __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "distributedTracing", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "headers", "randomizedStartTime", "postBody", "ipv6Policy", "bgpMeasurements", "usePublicBgp", "monitors", "tags", "agents"] + monitors: Optional[List[StrictStr]] = Field(default=None, description="Contains list of BGP monitor IDs (get `monitorId` from `/monitors` endpoint)") + __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "distributedTracing", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "vaultCredentials", "headers", "randomizedStartTime", "postBody", "ipv6Policy", "bgpMeasurements", "usePublicBgp", "labels", "tags", "sharedWithAccounts", "alertRules", "agents", "monitors"] model_config = ConfigDict( populate_by_name=True, @@ -172,6 +174,13 @@ class HttpServerTestRequest(BaseModel): # override the default output from pydantic by calling `to_dict()` of o_auth if self.o_auth: _dict['oAuth'] = self.o_auth.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in vault_credentials (list) + _items = [] + if self.vault_credentials: + for _item in self.vault_credentials: + if _item: + _items.append(_item.to_dict()) + _dict['vaultCredentials'] = _items # override the default output from pydantic by calling `to_dict()` of each item in agents (list) _items = [] if self.agents: @@ -194,7 +203,6 @@ class HttpServerTestRequest(BaseModel): "interval": obj.get("interval"), "alertsEnabled": obj.get("alertsEnabled"), "enabled": obj.get("enabled") if obj.get("enabled") is not None else True, - "alertRules": obj.get("alertRules"), "createdBy": obj.get("createdBy"), "createdDate": obj.get("createdDate"), "description": obj.get("description"), @@ -206,8 +214,6 @@ class HttpServerTestRequest(BaseModel): "testName": obj.get("testName"), "type": obj.get("type"), "_links": TestLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, - "labels": obj.get("labels"), - "sharedWithAccounts": obj.get("sharedWithAccounts"), "authType": obj.get("authType"), "agentInterfaces": AgentInterfaces.from_dict(obj["agentInterfaces"]) if obj.get("agentInterfaces") is not None else None, "bandwidthMeasurements": obj.get("bandwidthMeasurements"), @@ -243,15 +249,19 @@ class HttpServerTestRequest(BaseModel): "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, "overrideProxyId": obj.get("overrideProxyId"), "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False, + "vaultCredentials": [TestVaultCredential.from_dict(_item) for _item in obj["vaultCredentials"]] if obj.get("vaultCredentials") is not None else None, "headers": obj.get("headers"), "randomizedStartTime": obj.get("randomizedStartTime") if obj.get("randomizedStartTime") is not None else False, "postBody": obj.get("postBody"), "ipv6Policy": obj.get("ipv6Policy"), "bgpMeasurements": obj.get("bgpMeasurements") if obj.get("bgpMeasurements") is not None else True, "usePublicBgp": obj.get("usePublicBgp") if obj.get("usePublicBgp") is not None else True, - "monitors": obj.get("monitors"), + "labels": obj.get("labels"), "tags": obj.get("tags"), - "agents": [TestAgentRequest.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None + "sharedWithAccounts": obj.get("sharedWithAccounts"), + "alertRules": obj.get("alertRules"), + "agents": [TestAgentRequest.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None, + "monitors": obj.get("monitors") }) return _obj diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/http_server_test_response.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/http_server_test_response.py index 0fc8d35a..89ae2233 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/http_server_test_response.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/http_server_test_response.py @@ -36,6 +36,7 @@ from thousandeyes_sdk.tests.models.test_path_trace_mode import TestPathTraceMode from thousandeyes_sdk.tests.models.test_probe_mode import TestProbeMode from thousandeyes_sdk.tests.models.test_protocol import TestProtocol from thousandeyes_sdk.tests.models.test_ssl_version_id import TestSslVersionId +from thousandeyes_sdk.tests.models.test_vault_credential import TestVaultCredential from typing import Optional, Set from typing_extensions import Self @@ -95,6 +96,7 @@ class HttpServerTestResponse(BaseModel): override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") collect_proxy_network_data: Optional[StrictBool] = Field(default=False, description="Indicates whether network data to the proxy should be collected.", alias="collectProxyNetworkData") + vault_credentials: Optional[List[TestVaultCredential]] = Field(default=None, description="List of credential IDs that are stored in an external vault.", alias="vaultCredentials") headers: Optional[List[StrictStr]] = Field(default=None, description="HTTP request headers used.") randomized_start_time: Optional[StrictBool] = Field(default=False, description="Indicates whether agents should randomize the start time in each test round.", alias="randomizedStartTime") post_body: Optional[StrictStr] = Field(default=None, description="Enter the body for the HTTP POST request in this field. No special escaping is necessary. If the post body is provided with content, the `requestMethod` is automatically set to POST.", alias="postBody") @@ -103,7 +105,7 @@ class HttpServerTestResponse(BaseModel): use_public_bgp: Optional[StrictBool] = Field(default=True, description="Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value.", alias="usePublicBgp") monitors: Optional[List[Monitor]] = Field(default=None, description="Contains list of enabled BGP monitors.") agents: Optional[List[AgentResponse]] = Field(default=None, description="Contains list of agents.") - __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "distributedTracing", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "headers", "randomizedStartTime", "postBody", "ipv6Policy", "bgpMeasurements", "usePublicBgp", "monitors", "agents"] + __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "distributedTracing", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "vaultCredentials", "headers", "randomizedStartTime", "postBody", "ipv6Policy", "bgpMeasurements", "usePublicBgp", "monitors", "agents"] model_config = ConfigDict( populate_by_name=True, @@ -202,6 +204,13 @@ class HttpServerTestResponse(BaseModel): # override the default output from pydantic by calling `to_dict()` of o_auth if self.o_auth: _dict['oAuth'] = self.o_auth.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in vault_credentials (list) + _items = [] + if self.vault_credentials: + for _item in self.vault_credentials: + if _item: + _items.append(_item.to_dict()) + _dict['vaultCredentials'] = _items # override the default output from pydantic by calling `to_dict()` of each item in monitors (list) _items = [] if self.monitors: @@ -280,6 +289,7 @@ class HttpServerTestResponse(BaseModel): "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, "overrideProxyId": obj.get("overrideProxyId"), "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False, + "vaultCredentials": [TestVaultCredential.from_dict(_item) for _item in obj["vaultCredentials"]] if obj.get("vaultCredentials") is not None else None, "headers": obj.get("headers"), "randomizedStartTime": obj.get("randomizedStartTime") if obj.get("randomizedStartTime") is not None else False, "postBody": obj.get("postBody"), diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/network_provider_info.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/network_provider_info.py new file mode 100644 index 00000000..bac7a774 --- /dev/null +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/network_provider_info.py @@ -0,0 +1,96 @@ +# coding: utf-8 + +""" + Tests API + + **Note:** The Page Load Tests, API Tests, and Web Transaction Tests APIs are not available for ThousandEyes for Government instance. This API allows you to list, create, edit, and delete Network and Application Synthetics tests. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from thousandeyes_sdk.tests.models.network_provider_type import NetworkProviderType +from typing import Optional, Set +from typing_extensions import Self + +class NetworkProviderInfo(BaseModel): + """ + Information about the network provider that owns the agent's public IP prefix. + """ # noqa: E501 + asn: Optional[StrictInt] = Field(default=None, description="Autonomous System Number (ASN) announcing the agent's public IP prefix.") + name: Optional[StrictStr] = Field(default=None, description="Name of the network provider organization.") + type: Optional[NetworkProviderType] = None + __properties: ClassVar[List[str]] = ["asn", "name", "type"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + extra="allow", + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return self.model_dump_json(by_alias=True, exclude_unset=True, exclude_none=True) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of NetworkProviderInfo from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "asn", + "name", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of NetworkProviderInfo from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "asn": obj.get("asn"), + "name": obj.get("name"), + "type": obj.get("type") + }) + return _obj + + diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_widget_sort_direction.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/network_provider_type.py similarity index 51% rename from thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_widget_sort_direction.py rename to thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/network_provider_type.py index 2933de83..b93306c2 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_widget_sort_direction.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/network_provider_type.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - Dashboards API + Tests API - Manage ThousandEyes Dashboards. + **Note:** The Page Load Tests, API Tests, and Web Transaction Tests APIs are not available for ThousandEyes for Government instance. This API allows you to list, create, edit, and delete Network and Application Synthetics tests. Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -17,21 +17,24 @@ from enum import Enum from typing_extensions import Self -class ApiWidgetSortDirection(str, Enum): +class NetworkProviderType(str, Enum): """ - Specifies the order in which cards are sorted. + Classification of the agent's network provider. """ """ allowed enum values """ - ASCENDING = 'ascending' - DESCENDING = 'descending' UNKNOWN = 'unknown' + ISP = 'isp' + CDN = 'cdn' + STUB = 'stub' + CLOUD_MINUS_PROVIDER = 'cloud-provider' + CARRIER = 'carrier' @classmethod def from_json(cls, json_str: str) -> Self: - """Create an instance of ApiWidgetSortDirection from a JSON string""" + """Create an instance of NetworkProviderType from a JSON string""" return cls(json.loads(json_str)) @classmethod diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/page_load_instant_test.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/page_load_instant_test.py index c6e62aee..d5e383bd 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/page_load_instant_test.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/page_load_instant_test.py @@ -32,6 +32,7 @@ from thousandeyes_sdk.tests.models.test_path_trace_mode import TestPathTraceMode from thousandeyes_sdk.tests.models.test_probe_mode import TestProbeMode from thousandeyes_sdk.tests.models.test_protocol import TestProtocol from thousandeyes_sdk.tests.models.test_ssl_version_id import TestSslVersionId +from thousandeyes_sdk.tests.models.test_vault_credential import TestVaultCredential from typing import Optional, Set from typing_extensions import Self @@ -87,6 +88,7 @@ class PageLoadInstantTest(BaseModel): override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") collect_proxy_network_data: Optional[StrictBool] = Field(default=False, description="Indicates whether network data to the proxy should be collected.", alias="collectProxyNetworkData") + vault_credentials: Optional[List[TestVaultCredential]] = Field(default=None, description="List of credential IDs that are stored in an external vault.", alias="vaultCredentials") emulated_device_id: Optional[StrictStr] = Field(default=None, description="ID of the emulated device, if one was given when the test was created.", alias="emulatedDeviceId") page_load_target_time: Optional[Annotated[int, Field(le=60, strict=True, ge=1)]] = Field(default=None, description="Target time for page load completion, specified in seconds and cannot exceed the `pageLoadTimeLimit`.", alias="pageLoadTargetTime") page_load_time_limit: Optional[Annotated[int, Field(le=60, strict=True, ge=5)]] = Field(default=10, description="Page load time limit. Must be larger than the `httpTimeLimit`.", alias="pageLoadTimeLimit") @@ -100,7 +102,7 @@ class PageLoadInstantTest(BaseModel): page_loading_strategy: Optional[TestPageLoadingStrategy] = Field(default=None, alias="pageLoadingStrategy") randomized_start_time: Optional[StrictBool] = Field(default=False, description="Indicates whether agents should randomize the start time in each test round.", alias="randomizedStartTime") identify_agent_traffic_with_user_agent: Optional[StrictBool] = Field(default=False, description="Determines how agent traffic is identified: * `false`: Adds the `x-thousandeyes-agent: yes` header. * `true`: Appends `(ThousandEyes Agent)` to the `user-agent` header. For more information, see [Notes on Agent ID Strategy](https://docs.thousandeyes.com/product-documentation/browser-synthetics/test-settings-page-load-transaction#notes-on-agent-id-strategy). ", alias="identifyAgentTrafficWithUserAgent") - __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "distributedTracing", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "emulatedDeviceId", "pageLoadTargetTime", "pageLoadTimeLimit", "blockDomains", "disableScreenshot", "allowMicAndCamera", "allowGeolocation", "browserLanguage", "chromeOptions", "chromePolicies", "pageLoadingStrategy", "randomizedStartTime", "identifyAgentTrafficWithUserAgent"] + __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "distributedTracing", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "vaultCredentials", "emulatedDeviceId", "pageLoadTargetTime", "pageLoadTimeLimit", "blockDomains", "disableScreenshot", "allowMicAndCamera", "allowGeolocation", "browserLanguage", "chromeOptions", "chromePolicies", "pageLoadingStrategy", "randomizedStartTime", "identifyAgentTrafficWithUserAgent"] model_config = ConfigDict( populate_by_name=True, @@ -190,6 +192,13 @@ class PageLoadInstantTest(BaseModel): # override the default output from pydantic by calling `to_dict()` of o_auth if self.o_auth: _dict['oAuth'] = self.o_auth.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in vault_credentials (list) + _items = [] + if self.vault_credentials: + for _item in self.vault_credentials: + if _item: + _items.append(_item.to_dict()) + _dict['vaultCredentials'] = _items return _dict @classmethod @@ -250,6 +259,7 @@ class PageLoadInstantTest(BaseModel): "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, "overrideProxyId": obj.get("overrideProxyId"), "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False, + "vaultCredentials": [TestVaultCredential.from_dict(_item) for _item in obj["vaultCredentials"]] if obj.get("vaultCredentials") is not None else None, "emulatedDeviceId": obj.get("emulatedDeviceId"), "pageLoadTargetTime": obj.get("pageLoadTargetTime"), "pageLoadTimeLimit": obj.get("pageLoadTimeLimit") if obj.get("pageLoadTimeLimit") is not None else 10, diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/page_load_properties.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/page_load_properties.py index df6de4b5..a16d8189 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/page_load_properties.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/page_load_properties.py @@ -28,6 +28,7 @@ from thousandeyes_sdk.tests.models.test_path_trace_mode import TestPathTraceMode from thousandeyes_sdk.tests.models.test_probe_mode import TestProbeMode from thousandeyes_sdk.tests.models.test_protocol import TestProtocol from thousandeyes_sdk.tests.models.test_ssl_version_id import TestSslVersionId +from thousandeyes_sdk.tests.models.test_vault_credential import TestVaultCredential from typing import Optional, Set from typing_extensions import Self @@ -70,6 +71,7 @@ class PageLoadProperties(BaseModel): override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") collect_proxy_network_data: Optional[StrictBool] = Field(default=False, description="Indicates whether network data to the proxy should be collected.", alias="collectProxyNetworkData") + vault_credentials: Optional[List[TestVaultCredential]] = Field(default=None, description="List of credential IDs that are stored in an external vault.", alias="vaultCredentials") emulated_device_id: Optional[StrictStr] = Field(default=None, description="ID of the emulated device, if one was given when the test was created.", alias="emulatedDeviceId") page_load_target_time: Optional[Annotated[int, Field(le=60, strict=True, ge=1)]] = Field(default=None, description="Target time for page load completion, specified in seconds and cannot exceed the `pageLoadTimeLimit`.", alias="pageLoadTargetTime") page_load_time_limit: Optional[Annotated[int, Field(le=60, strict=True, ge=5)]] = Field(default=10, description="Page load time limit. Must be larger than the `httpTimeLimit`.", alias="pageLoadTimeLimit") @@ -84,7 +86,7 @@ class PageLoadProperties(BaseModel): randomized_start_time: Optional[StrictBool] = Field(default=False, description="Indicates whether agents should randomize the start time in each test round.", alias="randomizedStartTime") type: Optional[StrictStr] = None identify_agent_traffic_with_user_agent: Optional[StrictBool] = Field(default=False, description="Determines how agent traffic is identified: * `false`: Adds the `x-thousandeyes-agent: yes` header. * `true`: Appends `(ThousandEyes Agent)` to the `user-agent` header. For more information, see [Notes on Agent ID Strategy](https://docs.thousandeyes.com/product-documentation/browser-synthetics/test-settings-page-load-transaction#notes-on-agent-id-strategy). ", alias="identifyAgentTrafficWithUserAgent") - __properties: ClassVar[List[str]] = ["authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "distributedTracing", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "emulatedDeviceId", "pageLoadTargetTime", "pageLoadTimeLimit", "blockDomains", "disableScreenshot", "allowMicAndCamera", "allowGeolocation", "browserLanguage", "chromeOptions", "chromePolicies", "pageLoadingStrategy", "randomizedStartTime", "type", "identifyAgentTrafficWithUserAgent"] + __properties: ClassVar[List[str]] = ["authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "distributedTracing", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "vaultCredentials", "emulatedDeviceId", "pageLoadTargetTime", "pageLoadTimeLimit", "blockDomains", "disableScreenshot", "allowMicAndCamera", "allowGeolocation", "browserLanguage", "chromeOptions", "chromePolicies", "pageLoadingStrategy", "randomizedStartTime", "type", "identifyAgentTrafficWithUserAgent"] model_config = ConfigDict( populate_by_name=True, @@ -139,6 +141,13 @@ class PageLoadProperties(BaseModel): # override the default output from pydantic by calling `to_dict()` of o_auth if self.o_auth: _dict['oAuth'] = self.o_auth.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in vault_credentials (list) + _items = [] + if self.vault_credentials: + for _item in self.vault_credentials: + if _item: + _items.append(_item.to_dict()) + _dict['vaultCredentials'] = _items return _dict @classmethod @@ -186,6 +195,7 @@ class PageLoadProperties(BaseModel): "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, "overrideProxyId": obj.get("overrideProxyId"), "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False, + "vaultCredentials": [TestVaultCredential.from_dict(_item) for _item in obj["vaultCredentials"]] if obj.get("vaultCredentials") is not None else None, "emulatedDeviceId": obj.get("emulatedDeviceId"), "pageLoadTargetTime": obj.get("pageLoadTargetTime"), "pageLoadTimeLimit": obj.get("pageLoadTimeLimit") if obj.get("pageLoadTimeLimit") is not None else 10, diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/page_load_test.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/page_load_test.py index c5d2a979..48f30fd5 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/page_load_test.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/page_load_test.py @@ -37,6 +37,7 @@ from thousandeyes_sdk.tests.models.test_probe_mode import TestProbeMode from thousandeyes_sdk.tests.models.test_protocol import TestProtocol from thousandeyes_sdk.tests.models.test_ssl_version_id import TestSslVersionId from thousandeyes_sdk.tests.models.test_sub_interval import TestSubInterval +from thousandeyes_sdk.tests.models.test_vault_credential import TestVaultCredential from typing import Optional, Set from typing_extensions import Self @@ -96,6 +97,7 @@ class PageLoadTest(BaseModel): override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") collect_proxy_network_data: Optional[StrictBool] = Field(default=False, description="Indicates whether network data to the proxy should be collected.", alias="collectProxyNetworkData") + vault_credentials: Optional[List[TestVaultCredential]] = Field(default=None, description="List of credential IDs that are stored in an external vault.", alias="vaultCredentials") emulated_device_id: Optional[StrictStr] = Field(default=None, description="ID of the emulated device, if one was given when the test was created.", alias="emulatedDeviceId") page_load_target_time: Optional[Annotated[int, Field(le=60, strict=True, ge=1)]] = Field(default=None, description="Target time for page load completion, specified in seconds and cannot exceed the `pageLoadTimeLimit`.", alias="pageLoadTargetTime") page_load_time_limit: Optional[Annotated[int, Field(le=60, strict=True, ge=5)]] = Field(default=10, description="Page load time limit. Must be larger than the `httpTimeLimit`.", alias="pageLoadTimeLimit") @@ -114,7 +116,7 @@ class PageLoadTest(BaseModel): monitors: Optional[List[Monitor]] = Field(default=None, description="Contains list of enabled BGP monitors.") http_interval: Optional[TestHttpInterval] = Field(default=None, alias="httpInterval") subinterval: Optional[TestSubInterval] = None - __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "distributedTracing", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "emulatedDeviceId", "pageLoadTargetTime", "pageLoadTimeLimit", "blockDomains", "disableScreenshot", "allowMicAndCamera", "allowGeolocation", "browserLanguage", "chromeOptions", "chromePolicies", "pageLoadingStrategy", "randomizedStartTime", "identifyAgentTrafficWithUserAgent", "bgpMeasurements", "usePublicBgp", "monitors", "httpInterval", "subinterval"] + __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "distributedTracing", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "vaultCredentials", "emulatedDeviceId", "pageLoadTargetTime", "pageLoadTimeLimit", "blockDomains", "disableScreenshot", "allowMicAndCamera", "allowGeolocation", "browserLanguage", "chromeOptions", "chromePolicies", "pageLoadingStrategy", "randomizedStartTime", "identifyAgentTrafficWithUserAgent", "bgpMeasurements", "usePublicBgp", "monitors", "httpInterval", "subinterval"] model_config = ConfigDict( populate_by_name=True, @@ -213,6 +215,13 @@ class PageLoadTest(BaseModel): # override the default output from pydantic by calling `to_dict()` of o_auth if self.o_auth: _dict['oAuth'] = self.o_auth.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in vault_credentials (list) + _items = [] + if self.vault_credentials: + for _item in self.vault_credentials: + if _item: + _items.append(_item.to_dict()) + _dict['vaultCredentials'] = _items # override the default output from pydantic by calling `to_dict()` of each item in monitors (list) _items = [] if self.monitors: @@ -284,6 +293,7 @@ class PageLoadTest(BaseModel): "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, "overrideProxyId": obj.get("overrideProxyId"), "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False, + "vaultCredentials": [TestVaultCredential.from_dict(_item) for _item in obj["vaultCredentials"]] if obj.get("vaultCredentials") is not None else None, "emulatedDeviceId": obj.get("emulatedDeviceId"), "pageLoadTargetTime": obj.get("pageLoadTargetTime"), "pageLoadTimeLimit": obj.get("pageLoadTimeLimit") if obj.get("pageLoadTimeLimit") is not None else 10, diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/page_load_test_request.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/page_load_test_request.py index 35bbaf35..08134992 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/page_load_test_request.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/page_load_test_request.py @@ -34,6 +34,7 @@ from thousandeyes_sdk.tests.models.test_probe_mode import TestProbeMode from thousandeyes_sdk.tests.models.test_protocol import TestProtocol from thousandeyes_sdk.tests.models.test_ssl_version_id import TestSslVersionId from thousandeyes_sdk.tests.models.test_sub_interval import TestSubInterval +from thousandeyes_sdk.tests.models.test_vault_credential import TestVaultCredential from typing import Optional, Set from typing_extensions import Self @@ -44,7 +45,6 @@ class PageLoadTestRequest(BaseModel): interval: TestInterval alerts_enabled: Optional[StrictBool] = Field(default=None, description="Indicates if alerts are enabled.", alias="alertsEnabled") enabled: Optional[StrictBool] = Field(default=True, description="Test is enabled.") - alert_rules: Optional[List[StrictStr]] = Field(default=None, description="List of alert rules IDs to apply to the test (get `ruleId` from `/alerts/rules` endpoint. If `alertsEnabled` is set to `true` and `alertRules` is not included on test creation or update, applicable user default alert rules will be used)", alias="alertRules") created_by: Optional[StrictStr] = Field(default=None, description="User that created the test.", alias="createdBy") created_date: Optional[datetime] = Field(default=None, description="UTC created date (ISO date-time format).", alias="createdDate") description: Optional[StrictStr] = Field(default=None, description="A description of the test.") @@ -56,8 +56,6 @@ class PageLoadTestRequest(BaseModel): test_name: Optional[StrictStr] = Field(default=None, description="The name of the test. Test name must be unique.", alias="testName") type: Optional[StrictStr] = None links: Optional[TestLinks] = Field(default=None, alias="_links") - labels: Optional[List[StrictStr]] = Field(default=None, description="Contains list of test label IDs (get `labelId` from `/labels` endpoint)") - shared_with_accounts: Optional[List[StrictStr]] = Field(default=None, description="Contains list of account group IDs. Test is shared with the listed account groups (get `aid` from `/account-groups` endpoint)", alias="sharedWithAccounts") auth_type: Optional[TestAuthType] = Field(default=None, alias="authType") agent_interfaces: Optional[AgentInterfaces] = Field(default=None, alias="agentInterfaces") bandwidth_measurements: Optional[StrictBool] = Field(default=None, description="Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test.", alias="bandwidthMeasurements") @@ -93,6 +91,7 @@ class PageLoadTestRequest(BaseModel): override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") collect_proxy_network_data: Optional[StrictBool] = Field(default=False, description="Indicates whether network data to the proxy should be collected.", alias="collectProxyNetworkData") + vault_credentials: Optional[List[TestVaultCredential]] = Field(default=None, description="List of credential IDs that are stored in an external vault.", alias="vaultCredentials") emulated_device_id: Optional[StrictStr] = Field(default=None, description="ID of the emulated device, if one was given when the test was created.", alias="emulatedDeviceId") page_load_target_time: Optional[Annotated[int, Field(le=60, strict=True, ge=1)]] = Field(default=None, description="Target time for page load completion, specified in seconds and cannot exceed the `pageLoadTimeLimit`.", alias="pageLoadTargetTime") page_load_time_limit: Optional[Annotated[int, Field(le=60, strict=True, ge=5)]] = Field(default=10, description="Page load time limit. Must be larger than the `httpTimeLimit`.", alias="pageLoadTimeLimit") @@ -106,14 +105,17 @@ class PageLoadTestRequest(BaseModel): page_loading_strategy: Optional[TestPageLoadingStrategy] = Field(default=None, alias="pageLoadingStrategy") randomized_start_time: Optional[StrictBool] = Field(default=False, description="Indicates whether agents should randomize the start time in each test round.", alias="randomizedStartTime") identify_agent_traffic_with_user_agent: Optional[StrictBool] = Field(default=False, description="Determines how agent traffic is identified: * `false`: Adds the `x-thousandeyes-agent: yes` header. * `true`: Appends `(ThousandEyes Agent)` to the `user-agent` header. For more information, see [Notes on Agent ID Strategy](https://docs.thousandeyes.com/product-documentation/browser-synthetics/test-settings-page-load-transaction#notes-on-agent-id-strategy). ", alias="identifyAgentTrafficWithUserAgent") - bgp_measurements: Optional[StrictBool] = Field(default=True, description="Set to `true` to enable bgp measurements.", alias="bgpMeasurements") - use_public_bgp: Optional[StrictBool] = Field(default=True, description="Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value.", alias="usePublicBgp") - monitors: Optional[List[StrictStr]] = Field(default=None, description="Contains list of BGP monitor IDs (get `monitorId` from `/monitors` endpoint)") http_interval: Optional[TestHttpInterval] = Field(default=None, alias="httpInterval") subinterval: Optional[TestSubInterval] = None + bgp_measurements: Optional[StrictBool] = Field(default=True, description="Set to `true` to enable bgp measurements.", alias="bgpMeasurements") + use_public_bgp: Optional[StrictBool] = Field(default=True, description="Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value.", alias="usePublicBgp") + labels: Optional[List[StrictStr]] = Field(default=None, description="Contains list of test label IDs (get `labelId` from `/labels` endpoint)") tags: Optional[List[StrictStr]] = Field(default=None, description="Contains list of test tag IDs (get `id` from `/tags` endpoint).") + shared_with_accounts: Optional[List[StrictStr]] = Field(default=None, description="Contains list of account group IDs. Test is shared with the listed account groups (get `aid` from `/account-groups` endpoint)", alias="sharedWithAccounts") + alert_rules: Optional[List[StrictStr]] = Field(default=None, description="List of alert rules IDs to apply to the test (get `ruleId` from `/alerts/rules` endpoint. If `alertsEnabled` is set to `true` and `alertRules` is not included on test creation or update, applicable user default alert rules will be used)", alias="alertRules") agents: List[TestAgentRequest] = Field(description="Contains list of Agent IDs (get `agentId` from `/agents` endpoint).") - __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "distributedTracing", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "emulatedDeviceId", "pageLoadTargetTime", "pageLoadTimeLimit", "blockDomains", "disableScreenshot", "allowMicAndCamera", "allowGeolocation", "browserLanguage", "chromeOptions", "chromePolicies", "pageLoadingStrategy", "randomizedStartTime", "identifyAgentTrafficWithUserAgent", "bgpMeasurements", "usePublicBgp", "monitors", "httpInterval", "subinterval", "tags", "agents"] + monitors: Optional[List[StrictStr]] = Field(default=None, description="Contains list of BGP monitor IDs (get `monitorId` from `/monitors` endpoint)") + __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "distributedTracing", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "vaultCredentials", "emulatedDeviceId", "pageLoadTargetTime", "pageLoadTimeLimit", "blockDomains", "disableScreenshot", "allowMicAndCamera", "allowGeolocation", "browserLanguage", "chromeOptions", "chromePolicies", "pageLoadingStrategy", "randomizedStartTime", "identifyAgentTrafficWithUserAgent", "httpInterval", "subinterval", "bgpMeasurements", "usePublicBgp", "labels", "tags", "sharedWithAccounts", "alertRules", "agents", "monitors"] model_config = ConfigDict( populate_by_name=True, @@ -185,6 +187,13 @@ class PageLoadTestRequest(BaseModel): # override the default output from pydantic by calling `to_dict()` of o_auth if self.o_auth: _dict['oAuth'] = self.o_auth.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in vault_credentials (list) + _items = [] + if self.vault_credentials: + for _item in self.vault_credentials: + if _item: + _items.append(_item.to_dict()) + _dict['vaultCredentials'] = _items # override the default output from pydantic by calling `to_dict()` of each item in agents (list) _items = [] if self.agents: @@ -207,7 +216,6 @@ class PageLoadTestRequest(BaseModel): "interval": obj.get("interval"), "alertsEnabled": obj.get("alertsEnabled"), "enabled": obj.get("enabled") if obj.get("enabled") is not None else True, - "alertRules": obj.get("alertRules"), "createdBy": obj.get("createdBy"), "createdDate": obj.get("createdDate"), "description": obj.get("description"), @@ -219,8 +227,6 @@ class PageLoadTestRequest(BaseModel): "testName": obj.get("testName"), "type": obj.get("type"), "_links": TestLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, - "labels": obj.get("labels"), - "sharedWithAccounts": obj.get("sharedWithAccounts"), "authType": obj.get("authType"), "agentInterfaces": AgentInterfaces.from_dict(obj["agentInterfaces"]) if obj.get("agentInterfaces") is not None else None, "bandwidthMeasurements": obj.get("bandwidthMeasurements"), @@ -256,6 +262,7 @@ class PageLoadTestRequest(BaseModel): "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, "overrideProxyId": obj.get("overrideProxyId"), "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False, + "vaultCredentials": [TestVaultCredential.from_dict(_item) for _item in obj["vaultCredentials"]] if obj.get("vaultCredentials") is not None else None, "emulatedDeviceId": obj.get("emulatedDeviceId"), "pageLoadTargetTime": obj.get("pageLoadTargetTime"), "pageLoadTimeLimit": obj.get("pageLoadTimeLimit") if obj.get("pageLoadTimeLimit") is not None else 10, @@ -269,13 +276,16 @@ class PageLoadTestRequest(BaseModel): "pageLoadingStrategy": obj.get("pageLoadingStrategy"), "randomizedStartTime": obj.get("randomizedStartTime") if obj.get("randomizedStartTime") is not None else False, "identifyAgentTrafficWithUserAgent": obj.get("identifyAgentTrafficWithUserAgent") if obj.get("identifyAgentTrafficWithUserAgent") is not None else False, - "bgpMeasurements": obj.get("bgpMeasurements") if obj.get("bgpMeasurements") is not None else True, - "usePublicBgp": obj.get("usePublicBgp") if obj.get("usePublicBgp") is not None else True, - "monitors": obj.get("monitors"), "httpInterval": obj.get("httpInterval"), "subinterval": obj.get("subinterval"), + "bgpMeasurements": obj.get("bgpMeasurements") if obj.get("bgpMeasurements") is not None else True, + "usePublicBgp": obj.get("usePublicBgp") if obj.get("usePublicBgp") is not None else True, + "labels": obj.get("labels"), "tags": obj.get("tags"), - "agents": [TestAgentRequest.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None + "sharedWithAccounts": obj.get("sharedWithAccounts"), + "alertRules": obj.get("alertRules"), + "agents": [TestAgentRequest.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None, + "monitors": obj.get("monitors") }) return _obj diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/page_load_test_response.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/page_load_test_response.py index 0487df20..da06f310 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/page_load_test_response.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/page_load_test_response.py @@ -38,6 +38,7 @@ from thousandeyes_sdk.tests.models.test_probe_mode import TestProbeMode from thousandeyes_sdk.tests.models.test_protocol import TestProtocol from thousandeyes_sdk.tests.models.test_ssl_version_id import TestSslVersionId from thousandeyes_sdk.tests.models.test_sub_interval import TestSubInterval +from thousandeyes_sdk.tests.models.test_vault_credential import TestVaultCredential from typing import Optional, Set from typing_extensions import Self @@ -97,6 +98,7 @@ class PageLoadTestResponse(BaseModel): override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") collect_proxy_network_data: Optional[StrictBool] = Field(default=False, description="Indicates whether network data to the proxy should be collected.", alias="collectProxyNetworkData") + vault_credentials: Optional[List[TestVaultCredential]] = Field(default=None, description="List of credential IDs that are stored in an external vault.", alias="vaultCredentials") emulated_device_id: Optional[StrictStr] = Field(default=None, description="ID of the emulated device, if one was given when the test was created.", alias="emulatedDeviceId") page_load_target_time: Optional[Annotated[int, Field(le=60, strict=True, ge=1)]] = Field(default=None, description="Target time for page load completion, specified in seconds and cannot exceed the `pageLoadTimeLimit`.", alias="pageLoadTargetTime") page_load_time_limit: Optional[Annotated[int, Field(le=60, strict=True, ge=5)]] = Field(default=10, description="Page load time limit. Must be larger than the `httpTimeLimit`.", alias="pageLoadTimeLimit") @@ -116,7 +118,7 @@ class PageLoadTestResponse(BaseModel): http_interval: Optional[TestHttpInterval] = Field(default=None, alias="httpInterval") subinterval: Optional[TestSubInterval] = None agents: Optional[List[AgentResponse]] = Field(default=None, description="Contains list of agents.") - __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "distributedTracing", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "emulatedDeviceId", "pageLoadTargetTime", "pageLoadTimeLimit", "blockDomains", "disableScreenshot", "allowMicAndCamera", "allowGeolocation", "browserLanguage", "chromeOptions", "chromePolicies", "pageLoadingStrategy", "randomizedStartTime", "identifyAgentTrafficWithUserAgent", "bgpMeasurements", "usePublicBgp", "monitors", "httpInterval", "subinterval", "agents"] + __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "distributedTracing", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "vaultCredentials", "emulatedDeviceId", "pageLoadTargetTime", "pageLoadTimeLimit", "blockDomains", "disableScreenshot", "allowMicAndCamera", "allowGeolocation", "browserLanguage", "chromeOptions", "chromePolicies", "pageLoadingStrategy", "randomizedStartTime", "identifyAgentTrafficWithUserAgent", "bgpMeasurements", "usePublicBgp", "monitors", "httpInterval", "subinterval", "agents"] model_config = ConfigDict( populate_by_name=True, @@ -215,6 +217,13 @@ class PageLoadTestResponse(BaseModel): # override the default output from pydantic by calling `to_dict()` of o_auth if self.o_auth: _dict['oAuth'] = self.o_auth.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in vault_credentials (list) + _items = [] + if self.vault_credentials: + for _item in self.vault_credentials: + if _item: + _items.append(_item.to_dict()) + _dict['vaultCredentials'] = _items # override the default output from pydantic by calling `to_dict()` of each item in monitors (list) _items = [] if self.monitors: @@ -293,6 +302,7 @@ class PageLoadTestResponse(BaseModel): "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, "overrideProxyId": obj.get("overrideProxyId"), "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False, + "vaultCredentials": [TestVaultCredential.from_dict(_item) for _item in obj["vaultCredentials"]] if obj.get("vaultCredentials") is not None else None, "emulatedDeviceId": obj.get("emulatedDeviceId"), "pageLoadTargetTime": obj.get("pageLoadTargetTime"), "pageLoadTimeLimit": obj.get("pageLoadTimeLimit") if obj.get("pageLoadTimeLimit") is not None else 10, diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/simple_agent.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/simple_agent.py index 5098c842..9bf29793 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/simple_agent.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/simple_agent.py @@ -19,6 +19,7 @@ import json from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr from typing import Any, ClassVar, Dict, List, Optional from thousandeyes_sdk.tests.models.coordinates import Coordinates +from thousandeyes_sdk.tests.models.network_provider_info import NetworkProviderInfo from typing import Optional, Set from typing_extensions import Self @@ -34,10 +35,11 @@ class SimpleAgent(BaseModel): location: Optional[StrictStr] = Field(default=None, description="Location of the agent.") country_id: Optional[StrictStr] = Field(default=None, description="2-digit ISO country code", alias="countryId") coordinates: Optional[Coordinates] = None + network_provider_info: Optional[NetworkProviderInfo] = Field(default=None, alias="networkProviderInfo") enabled: Optional[StrictBool] = Field(default=None, description="Flag indicating if the agent is enabled.") - prefix: Optional[StrictStr] = Field(default=None, description="Prefix containing agents public IP address.") verify_ssl_certificates: Optional[StrictBool] = Field(default=None, description="Flag indicating if has normal SSL operations or if instead it's set to ignore SSL errors on browserbot-based tests.", alias="verifySslCertificates") - __properties: ClassVar[List[str]] = ["ipAddresses", "publicIpAddresses", "network", "agentId", "agentName", "location", "countryId", "coordinates", "enabled", "prefix", "verifySslCertificates"] + prefix: Optional[StrictStr] = Field(default=None, description="Prefix containing agents public IP address.") + __properties: ClassVar[List[str]] = ["ipAddresses", "publicIpAddresses", "network", "agentId", "agentName", "location", "countryId", "coordinates", "networkProviderInfo", "enabled", "verifySslCertificates", "prefix"] model_config = ConfigDict( populate_by_name=True, @@ -78,6 +80,7 @@ class SimpleAgent(BaseModel): * OpenAPI `readOnly` fields are excluded. * OpenAPI `readOnly` fields are excluded. * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. """ excluded_fields: Set[str] = set([ "ip_addresses", @@ -86,8 +89,9 @@ class SimpleAgent(BaseModel): "agent_id", "location", "country_id", - "prefix", + "network_provider_info", "verify_ssl_certificates", + "prefix", ]) _dict = self.model_dump( @@ -98,6 +102,9 @@ class SimpleAgent(BaseModel): # override the default output from pydantic by calling `to_dict()` of coordinates if self.coordinates: _dict['coordinates'] = self.coordinates.to_dict() + # override the default output from pydantic by calling `to_dict()` of network_provider_info + if self.network_provider_info: + _dict['networkProviderInfo'] = self.network_provider_info.to_dict() return _dict @classmethod @@ -118,9 +125,10 @@ class SimpleAgent(BaseModel): "location": obj.get("location"), "countryId": obj.get("countryId"), "coordinates": Coordinates.from_dict(obj["coordinates"]) if obj.get("coordinates") is not None else None, + "networkProviderInfo": NetworkProviderInfo.from_dict(obj["networkProviderInfo"]) if obj.get("networkProviderInfo") is not None else None, "enabled": obj.get("enabled"), - "prefix": obj.get("prefix"), - "verifySslCertificates": obj.get("verifySslCertificates") + "verifySslCertificates": obj.get("verifySslCertificates"), + "prefix": obj.get("prefix") }) return _obj diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/sip_server_test_request.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/sip_server_test_request.py index 19c29afa..7e6f4602 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/sip_server_test_request.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/sip_server_test_request.py @@ -20,7 +20,6 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated -from thousandeyes_sdk.tests.models.monitor import Monitor from thousandeyes_sdk.tests.models.test_agent_request import TestAgentRequest from thousandeyes_sdk.tests.models.test_interval import TestInterval from thousandeyes_sdk.tests.models.test_ipv6_policy import TestIpv6Policy @@ -38,7 +37,6 @@ class SipServerTestRequest(BaseModel): interval: TestInterval alerts_enabled: Optional[StrictBool] = Field(default=None, description="Indicates if alerts are enabled.", alias="alertsEnabled") enabled: Optional[StrictBool] = Field(default=True, description="Test is enabled.") - alert_rules: Optional[List[StrictStr]] = Field(default=None, description="List of alert rules IDs to apply to the test (get `ruleId` from `/alerts/rules` endpoint. If `alertsEnabled` is set to `true` and `alertRules` is not included on test creation or update, applicable user default alert rules will be used)", alias="alertRules") created_by: Optional[StrictStr] = Field(default=None, description="User that created the test.", alias="createdBy") created_date: Optional[datetime] = Field(default=None, description="UTC created date (ISO date-time format).", alias="createdDate") description: Optional[StrictStr] = Field(default=None, description="A description of the test.") @@ -50,8 +48,6 @@ class SipServerTestRequest(BaseModel): test_name: Optional[StrictStr] = Field(default=None, description="The name of the test. Test name must be unique.", alias="testName") type: Optional[StrictStr] = None links: Optional[TestLinks] = Field(default=None, alias="_links") - labels: Optional[List[StrictStr]] = Field(default=None, description="Contains list of test label IDs (get `labelId` from `/labels` endpoint)") - shared_with_accounts: Optional[List[StrictStr]] = Field(default=None, description="Contains list of account group IDs. Test is shared with the listed account groups (get `aid` from `/account-groups` endpoint)", alias="sharedWithAccounts") mtu_measurements: Optional[StrictBool] = Field(default=None, description="Set `true` to measure MTU sizes on network from agents to the target.", alias="mtuMeasurements") network_measurements: Optional[StrictBool] = Field(default=True, description="Enable or disable network measurements. Set to true to enable or false to disable network measurements.", alias="networkMeasurements") num_path_traces: Optional[Annotated[int, Field(le=10, strict=True, ge=1)]] = Field(default=3, description="Number of path traces executed by the agent.", alias="numPathTraces") @@ -64,13 +60,16 @@ class SipServerTestRequest(BaseModel): sip_time_limit: Optional[Annotated[int, Field(le=10, strict=True, ge=5)]] = Field(default=5, description="Time limit in milliseconds.", alias="sipTimeLimit") fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") ipv6_policy: Optional[TestIpv6Policy] = Field(default=None, alias="ipv6Policy") + labels: Optional[List[StrictStr]] = Field(default=None, description="Contains list of test label IDs (get `labelId` from `/labels` endpoint)") + tags: Optional[List[StrictStr]] = Field(default=None, description="Contains list of test tag IDs (get `id` from `/tags` endpoint).") + shared_with_accounts: Optional[List[StrictStr]] = Field(default=None, description="Contains list of account group IDs. Test is shared with the listed account groups (get `aid` from `/account-groups` endpoint)", alias="sharedWithAccounts") + alert_rules: Optional[List[StrictStr]] = Field(default=None, description="List of alert rules IDs to apply to the test (get `ruleId` from `/alerts/rules` endpoint. If `alertsEnabled` is set to `true` and `alertRules` is not included on test creation or update, applicable user default alert rules will be used)", alias="alertRules") + agents: List[TestAgentRequest] = Field(description="Contains list of Agent IDs (get `agentId` from `/agents` endpoint).") + monitors: Optional[List[StrictStr]] = Field(default=None, description="Contains list of BGP monitor IDs (get `monitorId` from `/monitors` endpoint)") + target_sip_credentials: TestSipCredentials = Field(alias="targetSipCredentials") bgp_measurements: Optional[StrictBool] = Field(default=True, description="Set to `true` to enable bgp measurements.", alias="bgpMeasurements") use_public_bgp: Optional[StrictBool] = Field(default=True, description="Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value.", alias="usePublicBgp") - monitors: Optional[List[Monitor]] = Field(default=None, description="Contains list of enabled BGP monitors.") - target_sip_credentials: TestSipCredentials = Field(alias="targetSipCredentials") - tags: Optional[List[StrictStr]] = Field(default=None, description="Contains list of test tag IDs (get `id` from `/tags` endpoint).") - agents: List[TestAgentRequest] = Field(description="Contains list of Agent IDs (get `agentId` from `/agents` endpoint).") - __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "mtuMeasurements", "networkMeasurements", "numPathTraces", "optionsRegex", "pathTraceMode", "probeMode", "randomizedStartTime", "registerEnabled", "sipTargetTime", "sipTimeLimit", "fixedPacketRate", "ipv6Policy", "bgpMeasurements", "usePublicBgp", "monitors", "targetSipCredentials", "tags", "agents"] + __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "mtuMeasurements", "networkMeasurements", "numPathTraces", "optionsRegex", "pathTraceMode", "probeMode", "randomizedStartTime", "registerEnabled", "sipTargetTime", "sipTimeLimit", "fixedPacketRate", "ipv6Policy", "labels", "tags", "sharedWithAccounts", "alertRules", "agents", "monitors", "targetSipCredentials", "bgpMeasurements", "usePublicBgp"] model_config = ConfigDict( populate_by_name=True, @@ -111,7 +110,6 @@ class SipServerTestRequest(BaseModel): * OpenAPI `readOnly` fields are excluded. * OpenAPI `readOnly` fields are excluded. * OpenAPI `readOnly` fields are excluded. - * OpenAPI `readOnly` fields are excluded. """ excluded_fields: Set[str] = set([ "created_by", @@ -122,7 +120,6 @@ class SipServerTestRequest(BaseModel): "saved_event", "test_id", "type", - "monitors", ]) _dict = self.model_dump( @@ -133,16 +130,6 @@ class SipServerTestRequest(BaseModel): # override the default output from pydantic by calling `to_dict()` of links if self.links: _dict['_links'] = self.links.to_dict() - # override the default output from pydantic by calling `to_dict()` of each item in monitors (list) - _items = [] - if self.monitors: - for _item in self.monitors: - if _item: - _items.append(_item.to_dict()) - _dict['monitors'] = _items - # override the default output from pydantic by calling `to_dict()` of target_sip_credentials - if self.target_sip_credentials: - _dict['targetSipCredentials'] = self.target_sip_credentials.to_dict() # override the default output from pydantic by calling `to_dict()` of each item in agents (list) _items = [] if self.agents: @@ -150,6 +137,9 @@ class SipServerTestRequest(BaseModel): if _item: _items.append(_item.to_dict()) _dict['agents'] = _items + # override the default output from pydantic by calling `to_dict()` of target_sip_credentials + if self.target_sip_credentials: + _dict['targetSipCredentials'] = self.target_sip_credentials.to_dict() return _dict @classmethod @@ -165,7 +155,6 @@ class SipServerTestRequest(BaseModel): "interval": obj.get("interval"), "alertsEnabled": obj.get("alertsEnabled"), "enabled": obj.get("enabled") if obj.get("enabled") is not None else True, - "alertRules": obj.get("alertRules"), "createdBy": obj.get("createdBy"), "createdDate": obj.get("createdDate"), "description": obj.get("description"), @@ -177,8 +166,6 @@ class SipServerTestRequest(BaseModel): "testName": obj.get("testName"), "type": obj.get("type"), "_links": TestLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, - "labels": obj.get("labels"), - "sharedWithAccounts": obj.get("sharedWithAccounts"), "mtuMeasurements": obj.get("mtuMeasurements"), "networkMeasurements": obj.get("networkMeasurements") if obj.get("networkMeasurements") is not None else True, "numPathTraces": obj.get("numPathTraces") if obj.get("numPathTraces") is not None else 3, @@ -191,12 +178,15 @@ class SipServerTestRequest(BaseModel): "sipTimeLimit": obj.get("sipTimeLimit") if obj.get("sipTimeLimit") is not None else 5, "fixedPacketRate": obj.get("fixedPacketRate"), "ipv6Policy": obj.get("ipv6Policy"), - "bgpMeasurements": obj.get("bgpMeasurements") if obj.get("bgpMeasurements") is not None else True, - "usePublicBgp": obj.get("usePublicBgp") if obj.get("usePublicBgp") is not None else True, - "monitors": [Monitor.from_dict(_item) for _item in obj["monitors"]] if obj.get("monitors") is not None else None, - "targetSipCredentials": TestSipCredentials.from_dict(obj["targetSipCredentials"]) if obj.get("targetSipCredentials") is not None else None, + "labels": obj.get("labels"), "tags": obj.get("tags"), - "agents": [TestAgentRequest.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None + "sharedWithAccounts": obj.get("sharedWithAccounts"), + "alertRules": obj.get("alertRules"), + "agents": [TestAgentRequest.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None, + "monitors": obj.get("monitors"), + "targetSipCredentials": TestSipCredentials.from_dict(obj["targetSipCredentials"]) if obj.get("targetSipCredentials") is not None else None, + "bgpMeasurements": obj.get("bgpMeasurements") if obj.get("bgpMeasurements") is not None else True, + "usePublicBgp": obj.get("usePublicBgp") if obj.get("usePublicBgp") is not None else True }) return _obj diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_servers_request.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_vault_credential.py similarity index 78% rename from thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_servers_request.py rename to thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_vault_credential.py index 35963499..2498c73c 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_servers_request.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_vault_credential.py @@ -18,15 +18,17 @@ import json from pydantic import BaseModel, ConfigDict, Field, StrictStr from typing import Any, ClassVar, Dict, List, Optional +from thousandeyes_sdk.tests.models.test_vault_credential_target import TestVaultCredentialTarget from typing import Optional, Set from typing_extensions import Self -class DnsServersRequest(BaseModel): +class TestVaultCredential(BaseModel): """ - DnsServersRequest + TestVaultCredential """ # noqa: E501 - dns_servers: Optional[List[StrictStr]] = Field(default=None, description="A list of DNS server FQDN.", alias="dnsServers") - __properties: ClassVar[List[str]] = ["dnsServers"] + secret_id: Optional[StrictStr] = Field(default=None, description="UUID of the configured secret.", alias="secretId") + target: Optional[TestVaultCredentialTarget] = None + __properties: ClassVar[List[str]] = ["secretId", "target"] model_config = ConfigDict( populate_by_name=True, @@ -47,7 +49,7 @@ class DnsServersRequest(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of DnsServersRequest from a JSON string""" + """Create an instance of TestVaultCredential from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -72,7 +74,7 @@ class DnsServersRequest(BaseModel): @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of DnsServersRequest from a dict""" + """Create an instance of TestVaultCredential from a dict""" if obj is None: return None @@ -80,7 +82,8 @@ class DnsServersRequest(BaseModel): return cls.model_validate(obj) _obj = cls.model_validate({ - "dnsServers": obj.get("dnsServers") + "secretId": obj.get("secretId"), + "target": obj.get("target") }) return _obj diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_agent_widget_type.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_vault_credential_target.py similarity index 52% rename from thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_agent_widget_type.py rename to thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_vault_credential_target.py index 855418f2..f038b9f9 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_agent_widget_type.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_vault_credential_target.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - Dashboards API + Tests API - Manage ThousandEyes Dashboards. + **Note:** The Page Load Tests, API Tests, and Web Transaction Tests APIs are not available for ThousandEyes for Government instance. This API allows you to list, create, edit, and delete Network and Application Synthetics tests. Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -17,21 +17,22 @@ from enum import Enum from typing_extensions import Self -class ApiAgentWidgetType(str, Enum): +class TestVaultCredentialTarget(str, Enum): """ - Type of the agent. + The target setting that the credential should be used for. """ """ allowed enum values """ - ENTERPRISE = 'enterprise' - ENDPOINT = 'endpoint' + USERNAME = 'username' + PASSWORD = 'password' + SCRIPT = 'script' UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: - """Create an instance of ApiAgentWidgetType from a JSON string""" + """Create an instance of TestVaultCredentialTarget from a JSON string""" return cls(json.loads(json_str)) @classmethod diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/update_sip_server_test.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unexpanded_dns_server_request_test.py similarity index 62% rename from thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/update_sip_server_test.py rename to thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unexpanded_dns_server_request_test.py index 04f86275..218d25f4 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/update_sip_server_test.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unexpanded_dns_server_request_test.py @@ -20,27 +20,24 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated -from thousandeyes_sdk.tests.models.alert_rule import AlertRule -from thousandeyes_sdk.tests.models.monitor import Monitor -from thousandeyes_sdk.tests.models.shared_with_account import SharedWithAccount +from thousandeyes_sdk.tests.models.dns_query_class import DnsQueryClass +from thousandeyes_sdk.tests.models.test_dns_transport_protocol import TestDnsTransportProtocol from thousandeyes_sdk.tests.models.test_interval import TestInterval from thousandeyes_sdk.tests.models.test_ipv6_policy import TestIpv6Policy -from thousandeyes_sdk.tests.models.test_label import TestLabel from thousandeyes_sdk.tests.models.test_links import TestLinks from thousandeyes_sdk.tests.models.test_path_trace_mode import TestPathTraceMode from thousandeyes_sdk.tests.models.test_probe_mode import TestProbeMode -from thousandeyes_sdk.tests.models.test_sip_credentials import TestSipCredentials +from thousandeyes_sdk.tests.models.test_protocol import TestProtocol from typing import Optional, Set from typing_extensions import Self -class UpdateSipServerTest(BaseModel): +class UnexpandedDnsServerRequestTest(BaseModel): """ - UpdateSipServerTest + UnexpandedDnsServerRequestTest """ # noqa: E501 interval: TestInterval alerts_enabled: Optional[StrictBool] = Field(default=None, description="Indicates if alerts are enabled.", alias="alertsEnabled") enabled: Optional[StrictBool] = Field(default=True, description="Test is enabled.") - alert_rules: Optional[List[AlertRule]] = Field(default=None, description="Contains list of enabled alert rule objects.", alias="alertRules") created_by: Optional[StrictStr] = Field(default=None, description="User that created the test.", alias="createdBy") created_date: Optional[datetime] = Field(default=None, description="UTC created date (ISO date-time format).", alias="createdDate") description: Optional[StrictStr] = Field(default=None, description="A description of the test.") @@ -52,25 +49,24 @@ class UpdateSipServerTest(BaseModel): test_name: Optional[StrictStr] = Field(default=None, description="The name of the test. Test name must be unique.", alias="testName") type: Optional[StrictStr] = None links: Optional[TestLinks] = Field(default=None, alias="_links") - labels: Optional[List[TestLabel]] = Field(default=None, description="Labels to which the test is assigned. This field is not returned for Instant Tests.") - shared_with_accounts: Optional[List[SharedWithAccount]] = Field(default=None, alias="sharedWithAccounts") + bandwidth_measurements: Optional[StrictBool] = Field(default=None, description="Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test.", alias="bandwidthMeasurements") + dns_servers: List[StrictStr] = Field(description="A list of DNS server FQDN.", alias="dnsServers") + dns_transport_protocol: Optional[TestDnsTransportProtocol] = Field(default=None, alias="dnsTransportProtocol") + domain: StrictStr = Field(description="The target record for the test, with the record type suffixed. If no record type is specified, the test defaults to an ANY record.") mtu_measurements: Optional[StrictBool] = Field(default=None, description="Set `true` to measure MTU sizes on network from agents to the target.", alias="mtuMeasurements") network_measurements: Optional[StrictBool] = Field(default=True, description="Enable or disable network measurements. Set to true to enable or false to disable network measurements.", alias="networkMeasurements") num_path_traces: Optional[Annotated[int, Field(le=10, strict=True, ge=1)]] = Field(default=3, description="Number of path traces executed by the agent.", alias="numPathTraces") - options_regex: Optional[StrictStr] = Field(default=None, description="Options regex, this field does not require escaping.", alias="optionsRegex") path_trace_mode: Optional[TestPathTraceMode] = Field(default=None, alias="pathTraceMode") probe_mode: Optional[TestProbeMode] = Field(default=None, alias="probeMode") + protocol: Optional[TestProtocol] = None randomized_start_time: Optional[StrictBool] = Field(default=False, description="Indicates whether agents should randomize the start time in each test round.", alias="randomizedStartTime") - register_enabled: Optional[StrictBool] = Field(default=False, description="Set to true to perform SIP registration on the test target with the SIP REGISTER command.", alias="registerEnabled") - sip_target_time: Optional[Annotated[int, Field(le=5000, strict=True, ge=100)]] = Field(default=None, description="Target time for test completion in milliseconds.", alias="sipTargetTime") - sip_time_limit: Optional[Annotated[int, Field(le=10, strict=True, ge=5)]] = Field(default=5, description="Time limit in milliseconds.", alias="sipTimeLimit") - fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") + recursive_queries: Optional[StrictBool] = Field(default=None, description="Set true to run query with RD (recursion desired) flag enabled.", alias="recursiveQueries") ipv6_policy: Optional[TestIpv6Policy] = Field(default=None, alias="ipv6Policy") + fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") + dns_query_class: Optional[DnsQueryClass] = Field(default=None, alias="dnsQueryClass") bgp_measurements: Optional[StrictBool] = Field(default=True, description="Set to `true` to enable bgp measurements.", alias="bgpMeasurements") use_public_bgp: Optional[StrictBool] = Field(default=True, description="Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value.", alias="usePublicBgp") - monitors: Optional[List[Monitor]] = Field(default=None, description="Contains list of enabled BGP monitors.") - target_sip_credentials: TestSipCredentials = Field(alias="targetSipCredentials") - __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "mtuMeasurements", "networkMeasurements", "numPathTraces", "optionsRegex", "pathTraceMode", "probeMode", "randomizedStartTime", "registerEnabled", "sipTargetTime", "sipTimeLimit", "fixedPacketRate", "ipv6Policy", "bgpMeasurements", "usePublicBgp", "monitors", "targetSipCredentials"] + __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "bandwidthMeasurements", "dnsServers", "dnsTransportProtocol", "domain", "mtuMeasurements", "networkMeasurements", "numPathTraces", "pathTraceMode", "probeMode", "protocol", "randomizedStartTime", "recursiveQueries", "ipv6Policy", "fixedPacketRate", "dnsQueryClass", "bgpMeasurements", "usePublicBgp"] model_config = ConfigDict( populate_by_name=True, @@ -91,7 +87,7 @@ class UpdateSipServerTest(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of UpdateSipServerTest from a JSON string""" + """Create an instance of UnexpandedDnsServerRequestTest from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -111,9 +107,6 @@ class UpdateSipServerTest(BaseModel): * OpenAPI `readOnly` fields are excluded. * OpenAPI `readOnly` fields are excluded. * OpenAPI `readOnly` fields are excluded. - * OpenAPI `readOnly` fields are excluded. - * OpenAPI `readOnly` fields are excluded. - * OpenAPI `readOnly` fields are excluded. """ excluded_fields: Set[str] = set([ "created_by", @@ -124,9 +117,6 @@ class UpdateSipServerTest(BaseModel): "saved_event", "test_id", "type", - "labels", - "shared_with_accounts", - "monitors", ]) _dict = self.model_dump( @@ -134,45 +124,14 @@ class UpdateSipServerTest(BaseModel): exclude=excluded_fields, exclude_none=True, ) - # override the default output from pydantic by calling `to_dict()` of each item in alert_rules (list) - _items = [] - if self.alert_rules: - for _item in self.alert_rules: - if _item: - _items.append(_item.to_dict()) - _dict['alertRules'] = _items # override the default output from pydantic by calling `to_dict()` of links if self.links: _dict['_links'] = self.links.to_dict() - # override the default output from pydantic by calling `to_dict()` of each item in labels (list) - _items = [] - if self.labels: - for _item in self.labels: - if _item: - _items.append(_item.to_dict()) - _dict['labels'] = _items - # override the default output from pydantic by calling `to_dict()` of each item in shared_with_accounts (list) - _items = [] - if self.shared_with_accounts: - for _item in self.shared_with_accounts: - if _item: - _items.append(_item.to_dict()) - _dict['sharedWithAccounts'] = _items - # override the default output from pydantic by calling `to_dict()` of each item in monitors (list) - _items = [] - if self.monitors: - for _item in self.monitors: - if _item: - _items.append(_item.to_dict()) - _dict['monitors'] = _items - # override the default output from pydantic by calling `to_dict()` of target_sip_credentials - if self.target_sip_credentials: - _dict['targetSipCredentials'] = self.target_sip_credentials.to_dict() return _dict @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of UpdateSipServerTest from a dict""" + """Create an instance of UnexpandedDnsServerRequestTest from a dict""" if obj is None: return None @@ -183,7 +142,6 @@ class UpdateSipServerTest(BaseModel): "interval": obj.get("interval"), "alertsEnabled": obj.get("alertsEnabled"), "enabled": obj.get("enabled") if obj.get("enabled") is not None else True, - "alertRules": [AlertRule.from_dict(_item) for _item in obj["alertRules"]] if obj.get("alertRules") is not None else None, "createdBy": obj.get("createdBy"), "createdDate": obj.get("createdDate"), "description": obj.get("description"), @@ -195,24 +153,23 @@ class UpdateSipServerTest(BaseModel): "testName": obj.get("testName"), "type": obj.get("type"), "_links": TestLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, - "labels": [TestLabel.from_dict(_item) for _item in obj["labels"]] if obj.get("labels") is not None else None, - "sharedWithAccounts": [SharedWithAccount.from_dict(_item) for _item in obj["sharedWithAccounts"]] if obj.get("sharedWithAccounts") is not None else None, + "bandwidthMeasurements": obj.get("bandwidthMeasurements"), + "dnsServers": obj.get("dnsServers"), + "dnsTransportProtocol": obj.get("dnsTransportProtocol"), + "domain": obj.get("domain"), "mtuMeasurements": obj.get("mtuMeasurements"), "networkMeasurements": obj.get("networkMeasurements") if obj.get("networkMeasurements") is not None else True, "numPathTraces": obj.get("numPathTraces") if obj.get("numPathTraces") is not None else 3, - "optionsRegex": obj.get("optionsRegex"), "pathTraceMode": obj.get("pathTraceMode"), "probeMode": obj.get("probeMode"), + "protocol": obj.get("protocol"), "randomizedStartTime": obj.get("randomizedStartTime") if obj.get("randomizedStartTime") is not None else False, - "registerEnabled": obj.get("registerEnabled") if obj.get("registerEnabled") is not None else False, - "sipTargetTime": obj.get("sipTargetTime"), - "sipTimeLimit": obj.get("sipTimeLimit") if obj.get("sipTimeLimit") is not None else 5, - "fixedPacketRate": obj.get("fixedPacketRate"), + "recursiveQueries": obj.get("recursiveQueries"), "ipv6Policy": obj.get("ipv6Policy"), + "fixedPacketRate": obj.get("fixedPacketRate"), + "dnsQueryClass": obj.get("dnsQueryClass"), "bgpMeasurements": obj.get("bgpMeasurements") if obj.get("bgpMeasurements") is not None else True, - "usePublicBgp": obj.get("usePublicBgp") if obj.get("usePublicBgp") is not None else True, - "monitors": [Monitor.from_dict(_item) for _item in obj["monitors"]] if obj.get("monitors") is not None else None, - "targetSipCredentials": TestSipCredentials.from_dict(obj["targetSipCredentials"]) if obj.get("targetSipCredentials") is not None else None + "usePublicBgp": obj.get("usePublicBgp") if obj.get("usePublicBgp") is not None else True }) return _obj diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unexpanded_http_server_test.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unexpanded_http_server_test.py index dfd46036..c63628b1 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unexpanded_http_server_test.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unexpanded_http_server_test.py @@ -31,6 +31,7 @@ from thousandeyes_sdk.tests.models.test_path_trace_mode import TestPathTraceMode from thousandeyes_sdk.tests.models.test_probe_mode import TestProbeMode from thousandeyes_sdk.tests.models.test_protocol import TestProtocol from thousandeyes_sdk.tests.models.test_ssl_version_id import TestSslVersionId +from thousandeyes_sdk.tests.models.test_vault_credential import TestVaultCredential from typing import Optional, Set from typing_extensions import Self @@ -87,13 +88,14 @@ class UnexpandedHttpServerTest(BaseModel): override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") collect_proxy_network_data: Optional[StrictBool] = Field(default=False, description="Indicates whether network data to the proxy should be collected.", alias="collectProxyNetworkData") + vault_credentials: Optional[List[TestVaultCredential]] = Field(default=None, description="List of credential IDs that are stored in an external vault.", alias="vaultCredentials") headers: Optional[List[StrictStr]] = Field(default=None, description="HTTP request headers used.") randomized_start_time: Optional[StrictBool] = Field(default=False, description="Indicates whether agents should randomize the start time in each test round.", alias="randomizedStartTime") post_body: Optional[StrictStr] = Field(default=None, description="Enter the body for the HTTP POST request in this field. No special escaping is necessary. If the post body is provided with content, the `requestMethod` is automatically set to POST.", alias="postBody") ipv6_policy: Optional[TestIpv6Policy] = Field(default=None, alias="ipv6Policy") bgp_measurements: Optional[StrictBool] = Field(default=True, description="Set to `true` to enable bgp measurements.", alias="bgpMeasurements") use_public_bgp: Optional[StrictBool] = Field(default=True, description="Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value.", alias="usePublicBgp") - __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "distributedTracing", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "headers", "randomizedStartTime", "postBody", "ipv6Policy", "bgpMeasurements", "usePublicBgp"] + __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "distributedTracing", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "vaultCredentials", "headers", "randomizedStartTime", "postBody", "ipv6Policy", "bgpMeasurements", "usePublicBgp"] model_config = ConfigDict( populate_by_name=True, @@ -165,6 +167,13 @@ class UnexpandedHttpServerTest(BaseModel): # override the default output from pydantic by calling `to_dict()` of o_auth if self.o_auth: _dict['oAuth'] = self.o_auth.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in vault_credentials (list) + _items = [] + if self.vault_credentials: + for _item in self.vault_credentials: + if _item: + _items.append(_item.to_dict()) + _dict['vaultCredentials'] = _items return _dict @classmethod @@ -226,6 +235,7 @@ class UnexpandedHttpServerTest(BaseModel): "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, "overrideProxyId": obj.get("overrideProxyId"), "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False, + "vaultCredentials": [TestVaultCredential.from_dict(_item) for _item in obj["vaultCredentials"]] if obj.get("vaultCredentials") is not None else None, "headers": obj.get("headers"), "randomizedStartTime": obj.get("randomizedStartTime") if obj.get("randomizedStartTime") is not None else False, "postBody": obj.get("postBody"), diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unexpanded_page_load_test.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unexpanded_page_load_test.py index efe76baf..a1cbd813 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unexpanded_page_load_test.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unexpanded_page_load_test.py @@ -33,6 +33,7 @@ from thousandeyes_sdk.tests.models.test_probe_mode import TestProbeMode from thousandeyes_sdk.tests.models.test_protocol import TestProtocol from thousandeyes_sdk.tests.models.test_ssl_version_id import TestSslVersionId from thousandeyes_sdk.tests.models.test_sub_interval import TestSubInterval +from thousandeyes_sdk.tests.models.test_vault_credential import TestVaultCredential from typing import Optional, Set from typing_extensions import Self @@ -89,6 +90,7 @@ class UnexpandedPageLoadTest(BaseModel): override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") collect_proxy_network_data: Optional[StrictBool] = Field(default=False, description="Indicates whether network data to the proxy should be collected.", alias="collectProxyNetworkData") + vault_credentials: Optional[List[TestVaultCredential]] = Field(default=None, description="List of credential IDs that are stored in an external vault.", alias="vaultCredentials") emulated_device_id: Optional[StrictStr] = Field(default=None, description="ID of the emulated device, if one was given when the test was created.", alias="emulatedDeviceId") page_load_target_time: Optional[Annotated[int, Field(le=60, strict=True, ge=1)]] = Field(default=None, description="Target time for page load completion, specified in seconds and cannot exceed the `pageLoadTimeLimit`.", alias="pageLoadTargetTime") page_load_time_limit: Optional[Annotated[int, Field(le=60, strict=True, ge=5)]] = Field(default=10, description="Page load time limit. Must be larger than the `httpTimeLimit`.", alias="pageLoadTimeLimit") @@ -106,7 +108,7 @@ class UnexpandedPageLoadTest(BaseModel): subinterval: Optional[TestSubInterval] = None bgp_measurements: Optional[StrictBool] = Field(default=True, description="Set to `true` to enable bgp measurements.", alias="bgpMeasurements") use_public_bgp: Optional[StrictBool] = Field(default=True, description="Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value.", alias="usePublicBgp") - __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "distributedTracing", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "emulatedDeviceId", "pageLoadTargetTime", "pageLoadTimeLimit", "blockDomains", "disableScreenshot", "allowMicAndCamera", "allowGeolocation", "browserLanguage", "chromeOptions", "chromePolicies", "pageLoadingStrategy", "randomizedStartTime", "identifyAgentTrafficWithUserAgent", "httpInterval", "subinterval", "bgpMeasurements", "usePublicBgp"] + __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "distributedTracing", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "vaultCredentials", "emulatedDeviceId", "pageLoadTargetTime", "pageLoadTimeLimit", "blockDomains", "disableScreenshot", "allowMicAndCamera", "allowGeolocation", "browserLanguage", "chromeOptions", "chromePolicies", "pageLoadingStrategy", "randomizedStartTime", "identifyAgentTrafficWithUserAgent", "httpInterval", "subinterval", "bgpMeasurements", "usePublicBgp"] model_config = ConfigDict( populate_by_name=True, @@ -178,6 +180,13 @@ class UnexpandedPageLoadTest(BaseModel): # override the default output from pydantic by calling `to_dict()` of o_auth if self.o_auth: _dict['oAuth'] = self.o_auth.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in vault_credentials (list) + _items = [] + if self.vault_credentials: + for _item in self.vault_credentials: + if _item: + _items.append(_item.to_dict()) + _dict['vaultCredentials'] = _items return _dict @classmethod @@ -239,6 +248,7 @@ class UnexpandedPageLoadTest(BaseModel): "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, "overrideProxyId": obj.get("overrideProxyId"), "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False, + "vaultCredentials": [TestVaultCredential.from_dict(_item) for _item in obj["vaultCredentials"]] if obj.get("vaultCredentials") is not None else None, "emulatedDeviceId": obj.get("emulatedDeviceId"), "pageLoadTargetTime": obj.get("pageLoadTargetTime"), "pageLoadTimeLimit": obj.get("pageLoadTimeLimit") if obj.get("pageLoadTimeLimit") is not None else 10, diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unexpanded_voice_test.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unexpanded_voice_test.py index 8d082f45..cb099251 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unexpanded_voice_test.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unexpanded_voice_test.py @@ -45,7 +45,7 @@ class UnexpandedVoiceTest(BaseModel): type: Optional[StrictStr] = None links: Optional[TestLinks] = Field(default=None, alias="_links") codec: Optional[StrictStr] = Field(default=None, description="Codec label") - codec_id: Optional[StrictStr] = Field(default=None, description="Coded ID, [see the list of acceptable values](https://docs.thousandeyes.com/product-documentation/internet-and-wan-monitoring/tests/working-with-test-settings#rtp-stream-advanced-settings-tab)", alias="codecId") + codec_id: Optional[StrictStr] = Field(default=None, description="Codec identifier for the RTP stream. Valid values: * `0`: G.711 @ 64 Kbps * `1`: G.722.1 @ 24 Kbps (WB) * `2`: G.722.1 @ 32 Kbps (WB) * `3`: G.726 @ 32 Kbps * `4`: G.723.1 @ 6.4 Kbps * `5`: G.729a @ 8 Kbps * `6`: RTAudio @ 45 Kbps (WB) * `7`: RTAudio @ 27.8 Kbps * `8`: SILK @ 36 Kbps (WB) * `9`: G.722 @ 64 Kbps (WB) ", alias="codecId") dscp: Optional[StrictStr] = Field(default=None, description="DSCP label.") dscp_id: Optional[TestDscpId] = Field(default=None, alias="dscpId") duration: Optional[Annotated[int, Field(le=30, strict=True, ge=5)]] = Field(default=5, description="Duration of the test in seconds.") diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unexpanded_web_transaction_test.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unexpanded_web_transaction_test.py index fa1ad55b..7a2b3c5e 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unexpanded_web_transaction_test.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unexpanded_web_transaction_test.py @@ -32,6 +32,7 @@ from thousandeyes_sdk.tests.models.test_probe_mode import TestProbeMode from thousandeyes_sdk.tests.models.test_protocol import TestProtocol from thousandeyes_sdk.tests.models.test_ssl_version_id import TestSslVersionId from thousandeyes_sdk.tests.models.test_sub_interval import TestSubInterval +from thousandeyes_sdk.tests.models.test_vault_credential import TestVaultCredential from typing import Optional, Set from typing_extensions import Self @@ -88,6 +89,7 @@ class UnexpandedWebTransactionTest(BaseModel): override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") collect_proxy_network_data: Optional[StrictBool] = Field(default=False, description="Indicates whether network data to the proxy should be collected.", alias="collectProxyNetworkData") + vault_credentials: Optional[List[TestVaultCredential]] = Field(default=None, description="List of credential IDs that are stored in an external vault.", alias="vaultCredentials") emulated_device_id: Optional[StrictStr] = Field(default=None, description="ID of the emulated device, if specified when the test was created.", alias="emulatedDeviceId") target_time: Optional[Annotated[int, Field(le=180, strict=True, ge=1)]] = Field(default=10, description="Target completion time, in seconds. Defaults to 10. Cannot exceed the `timeLimit` value.", alias="targetTime") time_limit: Optional[Annotated[int, Field(le=180, strict=True, ge=5)]] = Field(default=30, description="Time limit for transaction in seconds.", alias="timeLimit") @@ -105,7 +107,7 @@ class UnexpandedWebTransactionTest(BaseModel): subinterval: Optional[TestSubInterval] = None bgp_measurements: Optional[StrictBool] = Field(default=True, description="Set to `true` to enable bgp measurements.", alias="bgpMeasurements") use_public_bgp: Optional[StrictBool] = Field(default=True, description="Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value.", alias="usePublicBgp") - __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "distributedTracing", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "emulatedDeviceId", "targetTime", "timeLimit", "transactionScript", "blockDomains", "disableScreenshot", "allowMicAndCamera", "allowGeolocation", "browserLanguage", "chromeOptions", "chromePolicies", "pageLoadingStrategy", "randomizedStartTime", "identifyAgentTrafficWithUserAgent", "subinterval", "bgpMeasurements", "usePublicBgp"] + __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "distributedTracing", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "vaultCredentials", "emulatedDeviceId", "targetTime", "timeLimit", "transactionScript", "blockDomains", "disableScreenshot", "allowMicAndCamera", "allowGeolocation", "browserLanguage", "chromeOptions", "chromePolicies", "pageLoadingStrategy", "randomizedStartTime", "identifyAgentTrafficWithUserAgent", "subinterval", "bgpMeasurements", "usePublicBgp"] model_config = ConfigDict( populate_by_name=True, @@ -177,6 +179,13 @@ class UnexpandedWebTransactionTest(BaseModel): # override the default output from pydantic by calling `to_dict()` of o_auth if self.o_auth: _dict['oAuth'] = self.o_auth.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in vault_credentials (list) + _items = [] + if self.vault_credentials: + for _item in self.vault_credentials: + if _item: + _items.append(_item.to_dict()) + _dict['vaultCredentials'] = _items return _dict @classmethod @@ -238,6 +247,7 @@ class UnexpandedWebTransactionTest(BaseModel): "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, "overrideProxyId": obj.get("overrideProxyId"), "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False, + "vaultCredentials": [TestVaultCredential.from_dict(_item) for _item in obj["vaultCredentials"]] if obj.get("vaultCredentials") is not None else None, "emulatedDeviceId": obj.get("emulatedDeviceId"), "targetTime": obj.get("targetTime") if obj.get("targetTime") is not None else 10, "timeLimit": obj.get("timeLimit") if obj.get("timeLimit") is not None else 30, diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/update_bgp_test_request.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/update_bgp_test_request.py index d7bc9e9e..62f235e1 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/update_bgp_test_request.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/update_bgp_test_request.py @@ -38,16 +38,16 @@ class UpdateBgpTestRequest(BaseModel): test_name: Optional[StrictStr] = Field(default=None, description="The name of the test. Test name must be unique.", alias="testName") type: Optional[StrictStr] = None links: Optional[TestLinks] = Field(default=None, alias="_links") - labels: Optional[List[StrictStr]] = Field(default=None, description="Contains list of test label IDs (get `labelId` from `/labels` endpoint)") - shared_with_accounts: Optional[List[StrictStr]] = Field(default=None, description="Contains list of account group IDs. Test is shared with the listed account groups (get `aid` from `/account-groups` endpoint)", alias="sharedWithAccounts") enabled: Optional[StrictBool] = Field(default=True, description="Test is enabled.") - monitors: Optional[List[StrictStr]] = Field(default=None, description="Contains list of BGP monitor IDs (get `monitorId` from `/monitors` endpoint)") include_covered_prefixes: Optional[StrictBool] = Field(default=None, description="Indicate if queries for subprefixes detected under this prefix should included.", alias="includeCoveredPrefixes") use_public_bgp: Optional[StrictBool] = Field(default=True, description="Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value.", alias="usePublicBgp") alerts_enabled: Optional[StrictBool] = Field(default=None, description="Indicates if alerts are enabled.", alias="alertsEnabled") - alert_rules: Optional[List[StrictStr]] = Field(default=None, description="List of alert rules IDs to apply to the test (get `ruleId` from `/alerts/rules` endpoint. If `alertsEnabled` is set to `true` and `alertRules` is not included on test creation or update, applicable user default alert rules will be used)", alias="alertRules") + labels: Optional[List[StrictStr]] = Field(default=None, description="Contains list of test label IDs (get `labelId` from `/labels` endpoint)") tags: Optional[List[StrictStr]] = Field(default=None, description="Contains list of test tag IDs (get `id` from `/tags` endpoint).") - __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "enabled", "monitors", "includeCoveredPrefixes", "usePublicBgp", "alertsEnabled", "alertRules", "tags"] + shared_with_accounts: Optional[List[StrictStr]] = Field(default=None, description="Contains list of account group IDs. Test is shared with the listed account groups (get `aid` from `/account-groups` endpoint)", alias="sharedWithAccounts") + alert_rules: Optional[List[StrictStr]] = Field(default=None, description="List of alert rules IDs to apply to the test (get `ruleId` from `/alerts/rules` endpoint. If `alertsEnabled` is set to `true` and `alertRules` is not included on test creation or update, applicable user default alert rules will be used)", alias="alertRules") + monitors: Optional[List[StrictStr]] = Field(default=None, description="Contains list of BGP monitor IDs (get `monitorId` from `/monitors` endpoint)") + __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "enabled", "includeCoveredPrefixes", "usePublicBgp", "alertsEnabled", "labels", "tags", "sharedWithAccounts", "alertRules", "monitors"] model_config = ConfigDict( populate_by_name=True, @@ -131,15 +131,15 @@ class UpdateBgpTestRequest(BaseModel): "testName": obj.get("testName"), "type": obj.get("type"), "_links": TestLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, - "labels": obj.get("labels"), - "sharedWithAccounts": obj.get("sharedWithAccounts"), "enabled": obj.get("enabled") if obj.get("enabled") is not None else True, - "monitors": obj.get("monitors"), "includeCoveredPrefixes": obj.get("includeCoveredPrefixes"), "usePublicBgp": obj.get("usePublicBgp") if obj.get("usePublicBgp") is not None else True, "alertsEnabled": obj.get("alertsEnabled"), + "labels": obj.get("labels"), + "tags": obj.get("tags"), + "sharedWithAccounts": obj.get("sharedWithAccounts"), "alertRules": obj.get("alertRules"), - "tags": obj.get("tags") + "monitors": obj.get("monitors") }) return _obj diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/voice_instant_test.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/voice_instant_test.py index 56c490d9..0939c331 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/voice_instant_test.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/voice_instant_test.py @@ -45,7 +45,7 @@ class VoiceInstantTest(BaseModel): labels: Optional[List[TestLabel]] = Field(default=None, description="Labels to which the test is assigned. This field is not returned for Instant Tests.") shared_with_accounts: Optional[List[SharedWithAccount]] = Field(default=None, alias="sharedWithAccounts") codec: Optional[StrictStr] = Field(default=None, description="Codec label") - codec_id: Optional[StrictStr] = Field(default=None, description="Coded ID, [see the list of acceptable values](https://docs.thousandeyes.com/product-documentation/internet-and-wan-monitoring/tests/working-with-test-settings#rtp-stream-advanced-settings-tab)", alias="codecId") + codec_id: Optional[StrictStr] = Field(default=None, description="Codec identifier for the RTP stream. Valid values: * `0`: G.711 @ 64 Kbps * `1`: G.722.1 @ 24 Kbps (WB) * `2`: G.722.1 @ 32 Kbps (WB) * `3`: G.726 @ 32 Kbps * `4`: G.723.1 @ 6.4 Kbps * `5`: G.729a @ 8 Kbps * `6`: RTAudio @ 45 Kbps (WB) * `7`: RTAudio @ 27.8 Kbps * `8`: SILK @ 36 Kbps (WB) * `9`: G.722 @ 64 Kbps (WB) ", alias="codecId") dscp: Optional[StrictStr] = Field(default=None, description="DSCP label.") dscp_id: Optional[TestDscpId] = Field(default=None, alias="dscpId") duration: Optional[Annotated[int, Field(le=30, strict=True, ge=5)]] = Field(default=5, description="Duration of the test in seconds.") diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/voice_properties.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/voice_properties.py index d9d1f62b..65fceeb7 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/voice_properties.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/voice_properties.py @@ -28,7 +28,7 @@ class VoiceProperties(BaseModel): VoiceProperties """ # noqa: E501 codec: Optional[StrictStr] = Field(default=None, description="Codec label") - codec_id: Optional[StrictStr] = Field(default=None, description="Coded ID, [see the list of acceptable values](https://docs.thousandeyes.com/product-documentation/internet-and-wan-monitoring/tests/working-with-test-settings#rtp-stream-advanced-settings-tab)", alias="codecId") + codec_id: Optional[StrictStr] = Field(default=None, description="Codec identifier for the RTP stream. Valid values: * `0`: G.711 @ 64 Kbps * `1`: G.722.1 @ 24 Kbps (WB) * `2`: G.722.1 @ 32 Kbps (WB) * `3`: G.726 @ 32 Kbps * `4`: G.723.1 @ 6.4 Kbps * `5`: G.729a @ 8 Kbps * `6`: RTAudio @ 45 Kbps (WB) * `7`: RTAudio @ 27.8 Kbps * `8`: SILK @ 36 Kbps (WB) * `9`: G.722 @ 64 Kbps (WB) ", alias="codecId") dscp: Optional[StrictStr] = Field(default=None, description="DSCP label.") dscp_id: Optional[TestDscpId] = Field(default=None, alias="dscpId") duration: Optional[Annotated[int, Field(le=30, strict=True, ge=5)]] = Field(default=5, description="Duration of the test in seconds.") diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/voice_test.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/voice_test.py index d2c7b222..6ea56fbb 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/voice_test.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/voice_test.py @@ -52,7 +52,7 @@ class VoiceTest(BaseModel): labels: Optional[List[TestLabel]] = Field(default=None, description="Labels to which the test is assigned. This field is not returned for Instant Tests.") shared_with_accounts: Optional[List[SharedWithAccount]] = Field(default=None, alias="sharedWithAccounts") codec: Optional[StrictStr] = Field(default=None, description="Codec label") - codec_id: Optional[StrictStr] = Field(default=None, description="Coded ID, [see the list of acceptable values](https://docs.thousandeyes.com/product-documentation/internet-and-wan-monitoring/tests/working-with-test-settings#rtp-stream-advanced-settings-tab)", alias="codecId") + codec_id: Optional[StrictStr] = Field(default=None, description="Codec identifier for the RTP stream. Valid values: * `0`: G.711 @ 64 Kbps * `1`: G.722.1 @ 24 Kbps (WB) * `2`: G.722.1 @ 32 Kbps (WB) * `3`: G.726 @ 32 Kbps * `4`: G.723.1 @ 6.4 Kbps * `5`: G.729a @ 8 Kbps * `6`: RTAudio @ 45 Kbps (WB) * `7`: RTAudio @ 27.8 Kbps * `8`: SILK @ 36 Kbps (WB) * `9`: G.722 @ 64 Kbps (WB) ", alias="codecId") dscp: Optional[StrictStr] = Field(default=None, description="DSCP label.") dscp_id: Optional[TestDscpId] = Field(default=None, alias="dscpId") duration: Optional[Annotated[int, Field(le=30, strict=True, ge=5)]] = Field(default=5, description="Duration of the test in seconds.") diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/voice_test_request.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/voice_test_request.py index 80578728..81b3cf73 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/voice_test_request.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/voice_test_request.py @@ -20,7 +20,6 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated -from thousandeyes_sdk.tests.models.monitor import Monitor from thousandeyes_sdk.tests.models.test_agent_request import TestAgentRequest from thousandeyes_sdk.tests.models.test_dscp_id import TestDscpId from thousandeyes_sdk.tests.models.test_interval import TestInterval @@ -35,7 +34,6 @@ class VoiceTestRequest(BaseModel): interval: TestInterval alerts_enabled: Optional[StrictBool] = Field(default=None, description="Indicates if alerts are enabled.", alias="alertsEnabled") enabled: Optional[StrictBool] = Field(default=True, description="Test is enabled.") - alert_rules: Optional[List[StrictStr]] = Field(default=None, description="List of alert rules IDs to apply to the test (get `ruleId` from `/alerts/rules` endpoint. If `alertsEnabled` is set to `true` and `alertRules` is not included on test creation or update, applicable user default alert rules will be used)", alias="alertRules") created_by: Optional[StrictStr] = Field(default=None, description="User that created the test.", alias="createdBy") created_date: Optional[datetime] = Field(default=None, description="UTC created date (ISO date-time format).", alias="createdDate") description: Optional[StrictStr] = Field(default=None, description="A description of the test.") @@ -47,10 +45,8 @@ class VoiceTestRequest(BaseModel): test_name: Optional[StrictStr] = Field(default=None, description="The name of the test. Test name must be unique.", alias="testName") type: Optional[StrictStr] = None links: Optional[TestLinks] = Field(default=None, alias="_links") - labels: Optional[List[StrictStr]] = Field(default=None, description="Contains list of test label IDs (get `labelId` from `/labels` endpoint)") - shared_with_accounts: Optional[List[StrictStr]] = Field(default=None, description="Contains list of account group IDs. Test is shared with the listed account groups (get `aid` from `/account-groups` endpoint)", alias="sharedWithAccounts") codec: Optional[StrictStr] = Field(default=None, description="Codec label") - codec_id: Optional[StrictStr] = Field(default=None, description="Coded ID, [see the list of acceptable values](https://docs.thousandeyes.com/product-documentation/internet-and-wan-monitoring/tests/working-with-test-settings#rtp-stream-advanced-settings-tab)", alias="codecId") + codec_id: Optional[StrictStr] = Field(default=None, description="Codec identifier for the RTP stream. Valid values: * `0`: G.711 @ 64 Kbps * `1`: G.722.1 @ 24 Kbps (WB) * `2`: G.722.1 @ 32 Kbps (WB) * `3`: G.726 @ 32 Kbps * `4`: G.723.1 @ 6.4 Kbps * `5`: G.729a @ 8 Kbps * `6`: RTAudio @ 45 Kbps (WB) * `7`: RTAudio @ 27.8 Kbps * `8`: SILK @ 36 Kbps (WB) * `9`: G.722 @ 64 Kbps (WB) ", alias="codecId") dscp: Optional[StrictStr] = Field(default=None, description="DSCP label.") dscp_id: Optional[TestDscpId] = Field(default=None, alias="dscpId") duration: Optional[Annotated[int, Field(le=30, strict=True, ge=5)]] = Field(default=5, description="Duration of the test in seconds.") @@ -61,10 +57,13 @@ class VoiceTestRequest(BaseModel): target_agent_id: StrictStr = Field(description="Agent ID of the target agent for the test.", alias="targetAgentId") bgp_measurements: Optional[StrictBool] = Field(default=True, description="Set to `true` to enable bgp measurements.", alias="bgpMeasurements") use_public_bgp: Optional[StrictBool] = Field(default=True, description="Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value.", alias="usePublicBgp") - monitors: Optional[List[Monitor]] = Field(default=None, description="Contains list of enabled BGP monitors.") + labels: Optional[List[StrictStr]] = Field(default=None, description="Contains list of test label IDs (get `labelId` from `/labels` endpoint)") tags: Optional[List[StrictStr]] = Field(default=None, description="Contains list of test tag IDs (get `id` from `/tags` endpoint).") + shared_with_accounts: Optional[List[StrictStr]] = Field(default=None, description="Contains list of account group IDs. Test is shared with the listed account groups (get `aid` from `/account-groups` endpoint)", alias="sharedWithAccounts") + alert_rules: Optional[List[StrictStr]] = Field(default=None, description="List of alert rules IDs to apply to the test (get `ruleId` from `/alerts/rules` endpoint. If `alertsEnabled` is set to `true` and `alertRules` is not included on test creation or update, applicable user default alert rules will be used)", alias="alertRules") agents: List[TestAgentRequest] = Field(description="Contains list of Agent IDs (get `agentId` from `/agents` endpoint).") - __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "codec", "codecId", "dscp", "dscpId", "duration", "jitterBuffer", "numPathTraces", "port", "randomizedStartTime", "targetAgentId", "bgpMeasurements", "usePublicBgp", "monitors", "tags", "agents"] + monitors: Optional[List[StrictStr]] = Field(default=None, description="Contains list of BGP monitor IDs (get `monitorId` from `/monitors` endpoint)") + __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "codec", "codecId", "dscp", "dscpId", "duration", "jitterBuffer", "numPathTraces", "port", "randomizedStartTime", "targetAgentId", "bgpMeasurements", "usePublicBgp", "labels", "tags", "sharedWithAccounts", "alertRules", "agents", "monitors"] model_config = ConfigDict( populate_by_name=True, @@ -107,7 +106,6 @@ class VoiceTestRequest(BaseModel): * OpenAPI `readOnly` fields are excluded. * OpenAPI `readOnly` fields are excluded. * OpenAPI `readOnly` fields are excluded. - * OpenAPI `readOnly` fields are excluded. """ excluded_fields: Set[str] = set([ "created_by", @@ -120,7 +118,6 @@ class VoiceTestRequest(BaseModel): "type", "codec", "dscp", - "monitors", ]) _dict = self.model_dump( @@ -131,13 +128,6 @@ class VoiceTestRequest(BaseModel): # override the default output from pydantic by calling `to_dict()` of links if self.links: _dict['_links'] = self.links.to_dict() - # override the default output from pydantic by calling `to_dict()` of each item in monitors (list) - _items = [] - if self.monitors: - for _item in self.monitors: - if _item: - _items.append(_item.to_dict()) - _dict['monitors'] = _items # override the default output from pydantic by calling `to_dict()` of each item in agents (list) _items = [] if self.agents: @@ -160,7 +150,6 @@ class VoiceTestRequest(BaseModel): "interval": obj.get("interval"), "alertsEnabled": obj.get("alertsEnabled"), "enabled": obj.get("enabled") if obj.get("enabled") is not None else True, - "alertRules": obj.get("alertRules"), "createdBy": obj.get("createdBy"), "createdDate": obj.get("createdDate"), "description": obj.get("description"), @@ -172,8 +161,6 @@ class VoiceTestRequest(BaseModel): "testName": obj.get("testName"), "type": obj.get("type"), "_links": TestLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, - "labels": obj.get("labels"), - "sharedWithAccounts": obj.get("sharedWithAccounts"), "codec": obj.get("codec"), "codecId": obj.get("codecId"), "dscp": obj.get("dscp"), @@ -186,9 +173,12 @@ class VoiceTestRequest(BaseModel): "targetAgentId": obj.get("targetAgentId"), "bgpMeasurements": obj.get("bgpMeasurements") if obj.get("bgpMeasurements") is not None else True, "usePublicBgp": obj.get("usePublicBgp") if obj.get("usePublicBgp") is not None else True, - "monitors": [Monitor.from_dict(_item) for _item in obj["monitors"]] if obj.get("monitors") is not None else None, + "labels": obj.get("labels"), "tags": obj.get("tags"), - "agents": [TestAgentRequest.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None + "sharedWithAccounts": obj.get("sharedWithAccounts"), + "alertRules": obj.get("alertRules"), + "agents": [TestAgentRequest.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None, + "monitors": obj.get("monitors") }) return _obj diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/voice_test_response.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/voice_test_response.py index 7abfca38..19e14ec4 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/voice_test_response.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/voice_test_response.py @@ -53,7 +53,7 @@ class VoiceTestResponse(BaseModel): labels: Optional[List[TestLabel]] = Field(default=None, description="Labels to which the test is assigned. This field is not returned for Instant Tests.") shared_with_accounts: Optional[List[SharedWithAccount]] = Field(default=None, alias="sharedWithAccounts") codec: Optional[StrictStr] = Field(default=None, description="Codec label") - codec_id: Optional[StrictStr] = Field(default=None, description="Coded ID, [see the list of acceptable values](https://docs.thousandeyes.com/product-documentation/internet-and-wan-monitoring/tests/working-with-test-settings#rtp-stream-advanced-settings-tab)", alias="codecId") + codec_id: Optional[StrictStr] = Field(default=None, description="Codec identifier for the RTP stream. Valid values: * `0`: G.711 @ 64 Kbps * `1`: G.722.1 @ 24 Kbps (WB) * `2`: G.722.1 @ 32 Kbps (WB) * `3`: G.726 @ 32 Kbps * `4`: G.723.1 @ 6.4 Kbps * `5`: G.729a @ 8 Kbps * `6`: RTAudio @ 45 Kbps (WB) * `7`: RTAudio @ 27.8 Kbps * `8`: SILK @ 36 Kbps (WB) * `9`: G.722 @ 64 Kbps (WB) ", alias="codecId") dscp: Optional[StrictStr] = Field(default=None, description="DSCP label.") dscp_id: Optional[TestDscpId] = Field(default=None, alias="dscpId") duration: Optional[Annotated[int, Field(le=30, strict=True, ge=5)]] = Field(default=5, description="Duration of the test in seconds.") diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/web_transaction_instant_test.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/web_transaction_instant_test.py index ee4958f6..79780050 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/web_transaction_instant_test.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/web_transaction_instant_test.py @@ -32,6 +32,7 @@ from thousandeyes_sdk.tests.models.test_path_trace_mode import TestPathTraceMode from thousandeyes_sdk.tests.models.test_probe_mode import TestProbeMode from thousandeyes_sdk.tests.models.test_protocol import TestProtocol from thousandeyes_sdk.tests.models.test_ssl_version_id import TestSslVersionId +from thousandeyes_sdk.tests.models.test_vault_credential import TestVaultCredential from typing import Optional, Set from typing_extensions import Self @@ -87,6 +88,7 @@ class WebTransactionInstantTest(BaseModel): override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") collect_proxy_network_data: Optional[StrictBool] = Field(default=False, description="Indicates whether network data to the proxy should be collected.", alias="collectProxyNetworkData") + vault_credentials: Optional[List[TestVaultCredential]] = Field(default=None, description="List of credential IDs that are stored in an external vault.", alias="vaultCredentials") emulated_device_id: Optional[StrictStr] = Field(default=None, description="ID of the emulated device, if specified when the test was created.", alias="emulatedDeviceId") target_time: Optional[Annotated[int, Field(le=180, strict=True, ge=1)]] = Field(default=10, description="Target completion time, in seconds. Defaults to 10. Cannot exceed the `timeLimit` value.", alias="targetTime") time_limit: Optional[Annotated[int, Field(le=180, strict=True, ge=5)]] = Field(default=30, description="Time limit for transaction in seconds.", alias="timeLimit") @@ -102,7 +104,7 @@ class WebTransactionInstantTest(BaseModel): randomized_start_time: Optional[StrictBool] = Field(default=False, description="Indicates whether agents should randomize the start time in each test round.", alias="randomizedStartTime") identify_agent_traffic_with_user_agent: Optional[StrictBool] = Field(default=False, description="Determines how agent traffic is identified: * `false`: Adds the `x-thousandeyes-agent: yes` header. * `true`: Appends `(ThousandEyes Agent)` to the `user-agent` header. For more information, see [Notes on Agent ID Strategy](https://docs.thousandeyes.com/product-documentation/browser-synthetics/test-settings-page-load-transaction#notes-on-agent-id-strategy). ", alias="identifyAgentTrafficWithUserAgent") credentials: Optional[List[StrictStr]] = Field(default=None, description="Contains a list of credential IDs (get `credentialId` from `/credentials` endpoint).") - __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "distributedTracing", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "emulatedDeviceId", "targetTime", "timeLimit", "transactionScript", "blockDomains", "disableScreenshot", "allowMicAndCamera", "allowGeolocation", "browserLanguage", "chromeOptions", "chromePolicies", "pageLoadingStrategy", "randomizedStartTime", "identifyAgentTrafficWithUserAgent", "credentials"] + __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "distributedTracing", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "vaultCredentials", "emulatedDeviceId", "targetTime", "timeLimit", "transactionScript", "blockDomains", "disableScreenshot", "allowMicAndCamera", "allowGeolocation", "browserLanguage", "chromeOptions", "chromePolicies", "pageLoadingStrategy", "randomizedStartTime", "identifyAgentTrafficWithUserAgent", "credentials"] model_config = ConfigDict( populate_by_name=True, @@ -192,6 +194,13 @@ class WebTransactionInstantTest(BaseModel): # override the default output from pydantic by calling `to_dict()` of o_auth if self.o_auth: _dict['oAuth'] = self.o_auth.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in vault_credentials (list) + _items = [] + if self.vault_credentials: + for _item in self.vault_credentials: + if _item: + _items.append(_item.to_dict()) + _dict['vaultCredentials'] = _items return _dict @classmethod @@ -252,6 +261,7 @@ class WebTransactionInstantTest(BaseModel): "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, "overrideProxyId": obj.get("overrideProxyId"), "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False, + "vaultCredentials": [TestVaultCredential.from_dict(_item) for _item in obj["vaultCredentials"]] if obj.get("vaultCredentials") is not None else None, "emulatedDeviceId": obj.get("emulatedDeviceId"), "targetTime": obj.get("targetTime") if obj.get("targetTime") is not None else 10, "timeLimit": obj.get("timeLimit") if obj.get("timeLimit") is not None else 30, diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/web_transaction_properties.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/web_transaction_properties.py index d4a2b29f..64b891f2 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/web_transaction_properties.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/web_transaction_properties.py @@ -28,6 +28,7 @@ from thousandeyes_sdk.tests.models.test_path_trace_mode import TestPathTraceMode from thousandeyes_sdk.tests.models.test_probe_mode import TestProbeMode from thousandeyes_sdk.tests.models.test_protocol import TestProtocol from thousandeyes_sdk.tests.models.test_ssl_version_id import TestSslVersionId +from thousandeyes_sdk.tests.models.test_vault_credential import TestVaultCredential from typing import Optional, Set from typing_extensions import Self @@ -70,6 +71,7 @@ class WebTransactionProperties(BaseModel): override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") collect_proxy_network_data: Optional[StrictBool] = Field(default=False, description="Indicates whether network data to the proxy should be collected.", alias="collectProxyNetworkData") + vault_credentials: Optional[List[TestVaultCredential]] = Field(default=None, description="List of credential IDs that are stored in an external vault.", alias="vaultCredentials") emulated_device_id: Optional[StrictStr] = Field(default=None, description="ID of the emulated device, if specified when the test was created.", alias="emulatedDeviceId") target_time: Optional[Annotated[int, Field(le=180, strict=True, ge=1)]] = Field(default=10, description="Target completion time, in seconds. Defaults to 10. Cannot exceed the `timeLimit` value.", alias="targetTime") time_limit: Optional[Annotated[int, Field(le=180, strict=True, ge=5)]] = Field(default=30, description="Time limit for transaction in seconds.", alias="timeLimit") @@ -85,7 +87,7 @@ class WebTransactionProperties(BaseModel): randomized_start_time: Optional[StrictBool] = Field(default=False, description="Indicates whether agents should randomize the start time in each test round.", alias="randomizedStartTime") type: Optional[StrictStr] = None identify_agent_traffic_with_user_agent: Optional[StrictBool] = Field(default=False, description="Determines how agent traffic is identified: * `false`: Adds the `x-thousandeyes-agent: yes` header. * `true`: Appends `(ThousandEyes Agent)` to the `user-agent` header. For more information, see [Notes on Agent ID Strategy](https://docs.thousandeyes.com/product-documentation/browser-synthetics/test-settings-page-load-transaction#notes-on-agent-id-strategy). ", alias="identifyAgentTrafficWithUserAgent") - __properties: ClassVar[List[str]] = ["authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "distributedTracing", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "emulatedDeviceId", "targetTime", "timeLimit", "transactionScript", "blockDomains", "disableScreenshot", "allowMicAndCamera", "allowGeolocation", "browserLanguage", "chromeOptions", "chromePolicies", "pageLoadingStrategy", "randomizedStartTime", "type", "identifyAgentTrafficWithUserAgent"] + __properties: ClassVar[List[str]] = ["authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "distributedTracing", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "vaultCredentials", "emulatedDeviceId", "targetTime", "timeLimit", "transactionScript", "blockDomains", "disableScreenshot", "allowMicAndCamera", "allowGeolocation", "browserLanguage", "chromeOptions", "chromePolicies", "pageLoadingStrategy", "randomizedStartTime", "type", "identifyAgentTrafficWithUserAgent"] model_config = ConfigDict( populate_by_name=True, @@ -140,6 +142,13 @@ class WebTransactionProperties(BaseModel): # override the default output from pydantic by calling `to_dict()` of o_auth if self.o_auth: _dict['oAuth'] = self.o_auth.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in vault_credentials (list) + _items = [] + if self.vault_credentials: + for _item in self.vault_credentials: + if _item: + _items.append(_item.to_dict()) + _dict['vaultCredentials'] = _items return _dict @classmethod @@ -187,6 +196,7 @@ class WebTransactionProperties(BaseModel): "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, "overrideProxyId": obj.get("overrideProxyId"), "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False, + "vaultCredentials": [TestVaultCredential.from_dict(_item) for _item in obj["vaultCredentials"]] if obj.get("vaultCredentials") is not None else None, "emulatedDeviceId": obj.get("emulatedDeviceId"), "targetTime": obj.get("targetTime") if obj.get("targetTime") is not None else 10, "timeLimit": obj.get("timeLimit") if obj.get("timeLimit") is not None else 30, diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/web_transaction_test.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/web_transaction_test.py index a87bf0b5..7850ef4d 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/web_transaction_test.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/web_transaction_test.py @@ -36,6 +36,7 @@ from thousandeyes_sdk.tests.models.test_probe_mode import TestProbeMode from thousandeyes_sdk.tests.models.test_protocol import TestProtocol from thousandeyes_sdk.tests.models.test_ssl_version_id import TestSslVersionId from thousandeyes_sdk.tests.models.test_sub_interval import TestSubInterval +from thousandeyes_sdk.tests.models.test_vault_credential import TestVaultCredential from typing import Optional, Set from typing_extensions import Self @@ -95,6 +96,7 @@ class WebTransactionTest(BaseModel): override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") collect_proxy_network_data: Optional[StrictBool] = Field(default=False, description="Indicates whether network data to the proxy should be collected.", alias="collectProxyNetworkData") + vault_credentials: Optional[List[TestVaultCredential]] = Field(default=None, description="List of credential IDs that are stored in an external vault.", alias="vaultCredentials") emulated_device_id: Optional[StrictStr] = Field(default=None, description="ID of the emulated device, if specified when the test was created.", alias="emulatedDeviceId") target_time: Optional[Annotated[int, Field(le=180, strict=True, ge=1)]] = Field(default=10, description="Target completion time, in seconds. Defaults to 10. Cannot exceed the `timeLimit` value.", alias="targetTime") time_limit: Optional[Annotated[int, Field(le=180, strict=True, ge=5)]] = Field(default=30, description="Time limit for transaction in seconds.", alias="timeLimit") @@ -114,7 +116,7 @@ class WebTransactionTest(BaseModel): use_public_bgp: Optional[StrictBool] = Field(default=True, description="Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value.", alias="usePublicBgp") monitors: Optional[List[Monitor]] = Field(default=None, description="Contains list of enabled BGP monitors.") subinterval: Optional[TestSubInterval] = None - __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "distributedTracing", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "emulatedDeviceId", "targetTime", "timeLimit", "transactionScript", "blockDomains", "disableScreenshot", "allowMicAndCamera", "allowGeolocation", "browserLanguage", "chromeOptions", "chromePolicies", "pageLoadingStrategy", "randomizedStartTime", "identifyAgentTrafficWithUserAgent", "credentials", "bgpMeasurements", "usePublicBgp", "monitors", "subinterval"] + __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "distributedTracing", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "vaultCredentials", "emulatedDeviceId", "targetTime", "timeLimit", "transactionScript", "blockDomains", "disableScreenshot", "allowMicAndCamera", "allowGeolocation", "browserLanguage", "chromeOptions", "chromePolicies", "pageLoadingStrategy", "randomizedStartTime", "identifyAgentTrafficWithUserAgent", "credentials", "bgpMeasurements", "usePublicBgp", "monitors", "subinterval"] model_config = ConfigDict( populate_by_name=True, @@ -213,6 +215,13 @@ class WebTransactionTest(BaseModel): # override the default output from pydantic by calling `to_dict()` of o_auth if self.o_auth: _dict['oAuth'] = self.o_auth.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in vault_credentials (list) + _items = [] + if self.vault_credentials: + for _item in self.vault_credentials: + if _item: + _items.append(_item.to_dict()) + _dict['vaultCredentials'] = _items # override the default output from pydantic by calling `to_dict()` of each item in monitors (list) _items = [] if self.monitors: @@ -284,6 +293,7 @@ class WebTransactionTest(BaseModel): "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, "overrideProxyId": obj.get("overrideProxyId"), "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False, + "vaultCredentials": [TestVaultCredential.from_dict(_item) for _item in obj["vaultCredentials"]] if obj.get("vaultCredentials") is not None else None, "emulatedDeviceId": obj.get("emulatedDeviceId"), "targetTime": obj.get("targetTime") if obj.get("targetTime") is not None else 10, "timeLimit": obj.get("timeLimit") if obj.get("timeLimit") is not None else 30, diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/web_transaction_test_request.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/web_transaction_test_request.py index ae29f52e..acac5fd4 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/web_transaction_test_request.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/web_transaction_test_request.py @@ -33,6 +33,7 @@ from thousandeyes_sdk.tests.models.test_probe_mode import TestProbeMode from thousandeyes_sdk.tests.models.test_protocol import TestProtocol from thousandeyes_sdk.tests.models.test_ssl_version_id import TestSslVersionId from thousandeyes_sdk.tests.models.test_sub_interval import TestSubInterval +from thousandeyes_sdk.tests.models.test_vault_credential import TestVaultCredential from typing import Optional, Set from typing_extensions import Self @@ -43,7 +44,6 @@ class WebTransactionTestRequest(BaseModel): interval: TestInterval alerts_enabled: Optional[StrictBool] = Field(default=None, description="Indicates if alerts are enabled.", alias="alertsEnabled") enabled: Optional[StrictBool] = Field(default=True, description="Test is enabled.") - alert_rules: Optional[List[StrictStr]] = Field(default=None, description="List of alert rules IDs to apply to the test (get `ruleId` from `/alerts/rules` endpoint. If `alertsEnabled` is set to `true` and `alertRules` is not included on test creation or update, applicable user default alert rules will be used)", alias="alertRules") created_by: Optional[StrictStr] = Field(default=None, description="User that created the test.", alias="createdBy") created_date: Optional[datetime] = Field(default=None, description="UTC created date (ISO date-time format).", alias="createdDate") description: Optional[StrictStr] = Field(default=None, description="A description of the test.") @@ -55,8 +55,6 @@ class WebTransactionTestRequest(BaseModel): test_name: Optional[StrictStr] = Field(default=None, description="The name of the test. Test name must be unique.", alias="testName") type: Optional[StrictStr] = None links: Optional[TestLinks] = Field(default=None, alias="_links") - labels: Optional[List[StrictStr]] = Field(default=None, description="Contains list of test label IDs (get `labelId` from `/labels` endpoint)") - shared_with_accounts: Optional[List[StrictStr]] = Field(default=None, description="Contains list of account group IDs. Test is shared with the listed account groups (get `aid` from `/account-groups` endpoint)", alias="sharedWithAccounts") auth_type: Optional[TestAuthType] = Field(default=None, alias="authType") agent_interfaces: Optional[AgentInterfaces] = Field(default=None, alias="agentInterfaces") bandwidth_measurements: Optional[StrictBool] = Field(default=None, description="Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test.", alias="bandwidthMeasurements") @@ -92,6 +90,7 @@ class WebTransactionTestRequest(BaseModel): override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") collect_proxy_network_data: Optional[StrictBool] = Field(default=False, description="Indicates whether network data to the proxy should be collected.", alias="collectProxyNetworkData") + vault_credentials: Optional[List[TestVaultCredential]] = Field(default=None, description="List of credential IDs that are stored in an external vault.", alias="vaultCredentials") emulated_device_id: Optional[StrictStr] = Field(default=None, description="ID of the emulated device, if specified when the test was created.", alias="emulatedDeviceId") target_time: Optional[Annotated[int, Field(le=180, strict=True, ge=1)]] = Field(default=10, description="Target completion time, in seconds. Defaults to 10. Cannot exceed the `timeLimit` value.", alias="targetTime") time_limit: Optional[Annotated[int, Field(le=180, strict=True, ge=5)]] = Field(default=30, description="Time limit for transaction in seconds.", alias="timeLimit") @@ -106,14 +105,17 @@ class WebTransactionTestRequest(BaseModel): page_loading_strategy: Optional[TestPageLoadingStrategy] = Field(default=None, alias="pageLoadingStrategy") randomized_start_time: Optional[StrictBool] = Field(default=False, description="Indicates whether agents should randomize the start time in each test round.", alias="randomizedStartTime") identify_agent_traffic_with_user_agent: Optional[StrictBool] = Field(default=False, description="Determines how agent traffic is identified: * `false`: Adds the `x-thousandeyes-agent: yes` header. * `true`: Appends `(ThousandEyes Agent)` to the `user-agent` header. For more information, see [Notes on Agent ID Strategy](https://docs.thousandeyes.com/product-documentation/browser-synthetics/test-settings-page-load-transaction#notes-on-agent-id-strategy). ", alias="identifyAgentTrafficWithUserAgent") - credentials: Optional[List[StrictStr]] = Field(default=None, description="Contains a list of credential IDs (get `credentialId` from `/credentials` endpoint).") + subinterval: Optional[TestSubInterval] = None bgp_measurements: Optional[StrictBool] = Field(default=True, description="Set to `true` to enable bgp measurements.", alias="bgpMeasurements") use_public_bgp: Optional[StrictBool] = Field(default=True, description="Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value.", alias="usePublicBgp") - monitors: Optional[List[StrictStr]] = Field(default=None, description="Contains list of BGP monitor IDs (get `monitorId` from `/monitors` endpoint)") - subinterval: Optional[TestSubInterval] = None + labels: Optional[List[StrictStr]] = Field(default=None, description="Contains list of test label IDs (get `labelId` from `/labels` endpoint)") tags: Optional[List[StrictStr]] = Field(default=None, description="Contains list of test tag IDs (get `id` from `/tags` endpoint).") + shared_with_accounts: Optional[List[StrictStr]] = Field(default=None, description="Contains list of account group IDs. Test is shared with the listed account groups (get `aid` from `/account-groups` endpoint)", alias="sharedWithAccounts") + alert_rules: Optional[List[StrictStr]] = Field(default=None, description="List of alert rules IDs to apply to the test (get `ruleId` from `/alerts/rules` endpoint. If `alertsEnabled` is set to `true` and `alertRules` is not included on test creation or update, applicable user default alert rules will be used)", alias="alertRules") agents: List[TestAgentRequest] = Field(description="Contains list of Agent IDs (get `agentId` from `/agents` endpoint).") - __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "distributedTracing", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "emulatedDeviceId", "targetTime", "timeLimit", "transactionScript", "blockDomains", "disableScreenshot", "allowMicAndCamera", "allowGeolocation", "browserLanguage", "chromeOptions", "chromePolicies", "pageLoadingStrategy", "randomizedStartTime", "identifyAgentTrafficWithUserAgent", "credentials", "bgpMeasurements", "usePublicBgp", "monitors", "subinterval", "tags", "agents"] + monitors: Optional[List[StrictStr]] = Field(default=None, description="Contains list of BGP monitor IDs (get `monitorId` from `/monitors` endpoint)") + credentials: Optional[List[StrictStr]] = Field(default=None, description="Contains a list of credential IDs (get `credentialId` from `/credentials` endpoint).") + __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "distributedTracing", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "vaultCredentials", "emulatedDeviceId", "targetTime", "timeLimit", "transactionScript", "blockDomains", "disableScreenshot", "allowMicAndCamera", "allowGeolocation", "browserLanguage", "chromeOptions", "chromePolicies", "pageLoadingStrategy", "randomizedStartTime", "identifyAgentTrafficWithUserAgent", "subinterval", "bgpMeasurements", "usePublicBgp", "labels", "tags", "sharedWithAccounts", "alertRules", "agents", "monitors", "credentials"] model_config = ConfigDict( populate_by_name=True, @@ -185,6 +187,13 @@ class WebTransactionTestRequest(BaseModel): # override the default output from pydantic by calling `to_dict()` of o_auth if self.o_auth: _dict['oAuth'] = self.o_auth.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in vault_credentials (list) + _items = [] + if self.vault_credentials: + for _item in self.vault_credentials: + if _item: + _items.append(_item.to_dict()) + _dict['vaultCredentials'] = _items # override the default output from pydantic by calling `to_dict()` of each item in agents (list) _items = [] if self.agents: @@ -207,7 +216,6 @@ class WebTransactionTestRequest(BaseModel): "interval": obj.get("interval"), "alertsEnabled": obj.get("alertsEnabled"), "enabled": obj.get("enabled") if obj.get("enabled") is not None else True, - "alertRules": obj.get("alertRules"), "createdBy": obj.get("createdBy"), "createdDate": obj.get("createdDate"), "description": obj.get("description"), @@ -219,8 +227,6 @@ class WebTransactionTestRequest(BaseModel): "testName": obj.get("testName"), "type": obj.get("type"), "_links": TestLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, - "labels": obj.get("labels"), - "sharedWithAccounts": obj.get("sharedWithAccounts"), "authType": obj.get("authType"), "agentInterfaces": AgentInterfaces.from_dict(obj["agentInterfaces"]) if obj.get("agentInterfaces") is not None else None, "bandwidthMeasurements": obj.get("bandwidthMeasurements"), @@ -256,6 +262,7 @@ class WebTransactionTestRequest(BaseModel): "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, "overrideProxyId": obj.get("overrideProxyId"), "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False, + "vaultCredentials": [TestVaultCredential.from_dict(_item) for _item in obj["vaultCredentials"]] if obj.get("vaultCredentials") is not None else None, "emulatedDeviceId": obj.get("emulatedDeviceId"), "targetTime": obj.get("targetTime") if obj.get("targetTime") is not None else 10, "timeLimit": obj.get("timeLimit") if obj.get("timeLimit") is not None else 30, @@ -270,13 +277,16 @@ class WebTransactionTestRequest(BaseModel): "pageLoadingStrategy": obj.get("pageLoadingStrategy"), "randomizedStartTime": obj.get("randomizedStartTime") if obj.get("randomizedStartTime") is not None else False, "identifyAgentTrafficWithUserAgent": obj.get("identifyAgentTrafficWithUserAgent") if obj.get("identifyAgentTrafficWithUserAgent") is not None else False, - "credentials": obj.get("credentials"), + "subinterval": obj.get("subinterval"), "bgpMeasurements": obj.get("bgpMeasurements") if obj.get("bgpMeasurements") is not None else True, "usePublicBgp": obj.get("usePublicBgp") if obj.get("usePublicBgp") is not None else True, - "monitors": obj.get("monitors"), - "subinterval": obj.get("subinterval"), + "labels": obj.get("labels"), "tags": obj.get("tags"), - "agents": [TestAgentRequest.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None + "sharedWithAccounts": obj.get("sharedWithAccounts"), + "alertRules": obj.get("alertRules"), + "agents": [TestAgentRequest.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None, + "monitors": obj.get("monitors"), + "credentials": obj.get("credentials") }) return _obj diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/web_transaction_test_response.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/web_transaction_test_response.py index 6175613a..f11ef770 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/web_transaction_test_response.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/web_transaction_test_response.py @@ -37,6 +37,7 @@ from thousandeyes_sdk.tests.models.test_probe_mode import TestProbeMode from thousandeyes_sdk.tests.models.test_protocol import TestProtocol from thousandeyes_sdk.tests.models.test_ssl_version_id import TestSslVersionId from thousandeyes_sdk.tests.models.test_sub_interval import TestSubInterval +from thousandeyes_sdk.tests.models.test_vault_credential import TestVaultCredential from typing import Optional, Set from typing_extensions import Self @@ -96,6 +97,7 @@ class WebTransactionTestResponse(BaseModel): override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") collect_proxy_network_data: Optional[StrictBool] = Field(default=False, description="Indicates whether network data to the proxy should be collected.", alias="collectProxyNetworkData") + vault_credentials: Optional[List[TestVaultCredential]] = Field(default=None, description="List of credential IDs that are stored in an external vault.", alias="vaultCredentials") emulated_device_id: Optional[StrictStr] = Field(default=None, description="ID of the emulated device, if specified when the test was created.", alias="emulatedDeviceId") target_time: Optional[Annotated[int, Field(le=180, strict=True, ge=1)]] = Field(default=10, description="Target completion time, in seconds. Defaults to 10. Cannot exceed the `timeLimit` value.", alias="targetTime") time_limit: Optional[Annotated[int, Field(le=180, strict=True, ge=5)]] = Field(default=30, description="Time limit for transaction in seconds.", alias="timeLimit") @@ -116,7 +118,7 @@ class WebTransactionTestResponse(BaseModel): monitors: Optional[List[Monitor]] = Field(default=None, description="Contains list of enabled BGP monitors.") subinterval: Optional[TestSubInterval] = None agents: Optional[List[AgentResponse]] = Field(default=None, description="Contains list of agents.") - __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "distributedTracing", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "emulatedDeviceId", "targetTime", "timeLimit", "transactionScript", "blockDomains", "disableScreenshot", "allowMicAndCamera", "allowGeolocation", "browserLanguage", "chromeOptions", "chromePolicies", "pageLoadingStrategy", "randomizedStartTime", "identifyAgentTrafficWithUserAgent", "credentials", "bgpMeasurements", "usePublicBgp", "monitors", "subinterval", "agents"] + __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "distributedTracing", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "vaultCredentials", "emulatedDeviceId", "targetTime", "timeLimit", "transactionScript", "blockDomains", "disableScreenshot", "allowMicAndCamera", "allowGeolocation", "browserLanguage", "chromeOptions", "chromePolicies", "pageLoadingStrategy", "randomizedStartTime", "identifyAgentTrafficWithUserAgent", "credentials", "bgpMeasurements", "usePublicBgp", "monitors", "subinterval", "agents"] model_config = ConfigDict( populate_by_name=True, @@ -215,6 +217,13 @@ class WebTransactionTestResponse(BaseModel): # override the default output from pydantic by calling `to_dict()` of o_auth if self.o_auth: _dict['oAuth'] = self.o_auth.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in vault_credentials (list) + _items = [] + if self.vault_credentials: + for _item in self.vault_credentials: + if _item: + _items.append(_item.to_dict()) + _dict['vaultCredentials'] = _items # override the default output from pydantic by calling `to_dict()` of each item in monitors (list) _items = [] if self.monitors: @@ -293,6 +302,7 @@ class WebTransactionTestResponse(BaseModel): "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, "overrideProxyId": obj.get("overrideProxyId"), "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False, + "vaultCredentials": [TestVaultCredential.from_dict(_item) for _item in obj["vaultCredentials"]] if obj.get("vaultCredentials") is not None else None, "emulatedDeviceId": obj.get("emulatedDeviceId"), "targetTime": obj.get("targetTime") if obj.get("targetTime") is not None else 10, "timeLimit": obj.get("timeLimit") if obj.get("timeLimit") is not None else 30, diff --git a/thousandeyes-sdk-tests/test/test_agent_to_agent_tests_api.py b/thousandeyes-sdk-tests/test/test_agent_to_agent_tests_api.py index 236cf787..052ac663 100644 --- a/thousandeyes-sdk-tests/test/test_agent_to_agent_tests_api.py +++ b/thousandeyes-sdk-tests/test/test_agent_to_agent_tests_api.py @@ -178,34 +178,36 @@ class TestAgentToAgentTestsApi(unittest.TestCase): "agents" : [ { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true }, { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true } ], "createdDate" : "2022-07-17T22:00:54Z", @@ -332,34 +334,36 @@ class TestAgentToAgentTestsApi(unittest.TestCase): "agents" : [ { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true }, { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true } ], "createdDate" : "2022-07-17T22:00:54Z", @@ -666,34 +670,36 @@ class TestAgentToAgentTestsApi(unittest.TestCase): "agents" : [ { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true }, { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true } ], "createdDate" : "2022-07-17T22:00:54Z", diff --git a/thousandeyes-sdk-tests/test/test_agent_to_server_tests_api.py b/thousandeyes-sdk-tests/test/test_agent_to_server_tests_api.py index 66da9c50..4af592e3 100644 --- a/thousandeyes-sdk-tests/test/test_agent_to_server_tests_api.py +++ b/thousandeyes-sdk-tests/test/test_agent_to_server_tests_api.py @@ -88,8 +88,8 @@ class TestAgentToServerTestsApi(unittest.TestCase): "modifiedDate" : "2022-07-17T22:00:54Z", "interval" : 60, "testId" : "281474976710706", - "sharedWithAccounts" : [ "1234", "12345" ], "pingPayloadSize" : 112, + "sharedWithAccounts" : [ "1234", "12345" ], "continuousMode" : false, "monitors" : [ "17410", "5" ] } @@ -181,34 +181,36 @@ class TestAgentToServerTestsApi(unittest.TestCase): "agents" : [ { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true }, { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true } ], "createdDate" : "2022-07-17T22:00:54Z", @@ -336,34 +338,36 @@ class TestAgentToServerTestsApi(unittest.TestCase): "agents" : [ { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true }, { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true } ], "createdDate" : "2022-07-17T22:00:54Z", @@ -650,34 +654,36 @@ class TestAgentToServerTestsApi(unittest.TestCase): "agents" : [ { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true }, { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true } ], "createdDate" : "2022-07-17T22:00:54Z", diff --git a/thousandeyes-sdk-tests/test/test_api_tests_api.py b/thousandeyes-sdk-tests/test/test_api_tests_api.py index 8cc7d71f..8843761a 100644 --- a/thousandeyes-sdk-tests/test/test_api_tests_api.py +++ b/thousandeyes-sdk-tests/test/test_api_tests_api.py @@ -139,6 +139,13 @@ class TestAPITestsApi(unittest.TestCase): "type" : "api", "usePublicBgp" : true, "enabled" : true, + "vaultCredentials" : [ { + "secretId" : "f27e85b2-318b-4145-b5aa-c9dc8d8b0819", + "target" : "username" + }, { + "secretId" : "f27e85b2-318b-4145-b5aa-c9dc8d8b0819", + "target" : "username" + } ], "protocol" : "tcp", "collectProxyNetworkData" : false, "followRedirects" : true, @@ -182,21 +189,7 @@ class TestAPITestsApi(unittest.TestCase): "overrideProxyId" : "281474976710706", "sslVersionId" : "0", "targetTime" : 1, - "monitors" : [ { - "monitorType" : "public", - "monitorId" : "1234", - "monitorName" : "Seattle, WA", - "ipAddress" : "4.69.184.193", - "countryId" : "GB", - "network" : "Level 3 Communications, Inc. (AS 3356)" - }, { - "monitorType" : "public", - "monitorId" : "1234", - "monitorName" : "Seattle, WA", - "ipAddress" : "4.69.184.193", - "countryId" : "GB", - "network" : "Level 3 Communications, Inc. (AS 3356)" - } ] + "monitors" : [ "17410", "5" ] } """ @@ -341,6 +334,13 @@ class TestAPITestsApi(unittest.TestCase): "type" : "api", "usePublicBgp" : true, "enabled" : true, + "vaultCredentials" : [ { + "secretId" : "f27e85b2-318b-4145-b5aa-c9dc8d8b0819", + "target" : "username" + }, { + "secretId" : "f27e85b2-318b-4145-b5aa-c9dc8d8b0819", + "target" : "username" + } ], "protocol" : "tcp", "collectProxyNetworkData" : false, "followRedirects" : true, @@ -376,34 +376,36 @@ class TestAPITestsApi(unittest.TestCase): "agents" : [ { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true }, { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true } ], "timeLimit" : 19, @@ -588,6 +590,13 @@ class TestAPITestsApi(unittest.TestCase): "type" : "api", "usePublicBgp" : true, "enabled" : true, + "vaultCredentials" : [ { + "secretId" : "f27e85b2-318b-4145-b5aa-c9dc8d8b0819", + "target" : "username" + }, { + "secretId" : "f27e85b2-318b-4145-b5aa-c9dc8d8b0819", + "target" : "username" + } ], "protocol" : "tcp", "collectProxyNetworkData" : false, "followRedirects" : true, @@ -623,34 +632,36 @@ class TestAPITestsApi(unittest.TestCase): "agents" : [ { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true }, { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true } ], "timeLimit" : 19, @@ -1104,6 +1115,13 @@ class TestAPITestsApi(unittest.TestCase): "type" : "api", "usePublicBgp" : true, "enabled" : true, + "vaultCredentials" : [ { + "secretId" : "f27e85b2-318b-4145-b5aa-c9dc8d8b0819", + "target" : "username" + }, { + "secretId" : "f27e85b2-318b-4145-b5aa-c9dc8d8b0819", + "target" : "username" + } ], "protocol" : "tcp", "collectProxyNetworkData" : false, "followRedirects" : true, @@ -1147,21 +1165,7 @@ class TestAPITestsApi(unittest.TestCase): "overrideProxyId" : "281474976710706", "sslVersionId" : "0", "targetTime" : 1, - "monitors" : [ { - "monitorType" : "public", - "monitorId" : "1234", - "monitorName" : "Seattle, WA", - "ipAddress" : "4.69.184.193", - "countryId" : "GB", - "network" : "Level 3 Communications, Inc. (AS 3356)" - }, { - "monitorType" : "public", - "monitorId" : "1234", - "monitorName" : "Seattle, WA", - "ipAddress" : "4.69.184.193", - "countryId" : "GB", - "network" : "Level 3 Communications, Inc. (AS 3356)" - } ] + "monitors" : [ "17410", "5" ] } """ @@ -1306,6 +1310,13 @@ class TestAPITestsApi(unittest.TestCase): "type" : "api", "usePublicBgp" : true, "enabled" : true, + "vaultCredentials" : [ { + "secretId" : "f27e85b2-318b-4145-b5aa-c9dc8d8b0819", + "target" : "username" + }, { + "secretId" : "f27e85b2-318b-4145-b5aa-c9dc8d8b0819", + "target" : "username" + } ], "protocol" : "tcp", "collectProxyNetworkData" : false, "followRedirects" : true, @@ -1341,34 +1352,36 @@ class TestAPITestsApi(unittest.TestCase): "agents" : [ { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true }, { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true } ], "timeLimit" : 19, diff --git a/thousandeyes-sdk-tests/test/test_dns_server_tests_api.py b/thousandeyes-sdk-tests/test/test_dns_server_tests_api.py index 122eed8a..bedab605 100644 --- a/thousandeyes-sdk-tests/test/test_dns_server_tests_api.py +++ b/thousandeyes-sdk-tests/test/test_dns_server_tests_api.py @@ -187,34 +187,36 @@ class TestDNSServerTestsApi(unittest.TestCase): "agents" : [ { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true }, { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true } ], "createdDate" : "2022-07-17T22:00:54Z", @@ -348,34 +350,36 @@ class TestDNSServerTestsApi(unittest.TestCase): "agents" : [ { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true }, { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true } ], "createdDate" : "2022-07-17T22:00:54Z", @@ -704,34 +708,36 @@ class TestDNSServerTestsApi(unittest.TestCase): "agents" : [ { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true }, { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true } ], "createdDate" : "2022-07-17T22:00:54Z", diff --git a/thousandeyes-sdk-tests/test/test_dns_trace_tests_api.py b/thousandeyes-sdk-tests/test/test_dns_trace_tests_api.py index 62cd404e..35fecffd 100644 --- a/thousandeyes-sdk-tests/test/test_dns_trace_tests_api.py +++ b/thousandeyes-sdk-tests/test/test_dns_trace_tests_api.py @@ -51,8 +51,8 @@ class TestDNSTraceTestsApi(unittest.TestCase): } }, "liveShare" : false, - "alertRules" : [ "344753", "212697" ], "savedEvent" : true, + "alertRules" : [ "344753", "212697" ], "description" : "ThousandEyes Test", "dnsTransportProtocol" : "udp", "type" : "dns-trace", @@ -151,34 +151,36 @@ class TestDNSTraceTestsApi(unittest.TestCase): "agents" : [ { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true }, { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true } ], "createdDate" : "2022-07-17T22:00:54Z", @@ -278,34 +280,36 @@ class TestDNSTraceTestsApi(unittest.TestCase): "agents" : [ { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true }, { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true } ], "createdDate" : "2022-07-17T22:00:54Z", @@ -448,8 +452,8 @@ class TestDNSTraceTestsApi(unittest.TestCase): } }, "liveShare" : false, - "alertRules" : [ "344753", "212697" ], "savedEvent" : true, + "alertRules" : [ "344753", "212697" ], "description" : "ThousandEyes Test", "dnsTransportProtocol" : "udp", "type" : "dns-trace", @@ -548,34 +552,36 @@ class TestDNSTraceTestsApi(unittest.TestCase): "agents" : [ { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true }, { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true } ], "createdDate" : "2022-07-17T22:00:54Z", diff --git a/thousandeyes-sdk-tests/test/test_dnssec_tests_api.py b/thousandeyes-sdk-tests/test/test_dnssec_tests_api.py index f817684f..e4ae0153 100644 --- a/thousandeyes-sdk-tests/test/test_dnssec_tests_api.py +++ b/thousandeyes-sdk-tests/test/test_dnssec_tests_api.py @@ -51,8 +51,8 @@ class TestDNSSECTestsApi(unittest.TestCase): } }, "liveShare" : false, - "alertRules" : [ "344753", "212697" ], "savedEvent" : true, + "alertRules" : [ "344753", "212697" ], "description" : "ThousandEyes Test", "type" : "dnssec", "enabled" : true, @@ -149,34 +149,36 @@ class TestDNSSECTestsApi(unittest.TestCase): "agents" : [ { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true }, { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true } ], "createdDate" : "2022-07-17T22:00:54Z", @@ -275,34 +277,36 @@ class TestDNSSECTestsApi(unittest.TestCase): "agents" : [ { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true }, { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true } ], "createdDate" : "2022-07-17T22:00:54Z", @@ -443,8 +447,8 @@ class TestDNSSECTestsApi(unittest.TestCase): } }, "liveShare" : false, - "alertRules" : [ "344753", "212697" ], "savedEvent" : true, + "alertRules" : [ "344753", "212697" ], "description" : "ThousandEyes Test", "type" : "dnssec", "enabled" : true, @@ -541,34 +545,36 @@ class TestDNSSECTestsApi(unittest.TestCase): "agents" : [ { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true }, { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true } ], "createdDate" : "2022-07-17T22:00:54Z", diff --git a/thousandeyes-sdk-tests/test/test_ftp_server_tests_api.py b/thousandeyes-sdk-tests/test/test_ftp_server_tests_api.py index 47571f9c..c1a92c4f 100644 --- a/thousandeyes-sdk-tests/test/test_ftp_server_tests_api.py +++ b/thousandeyes-sdk-tests/test/test_ftp_server_tests_api.py @@ -187,34 +187,36 @@ class TestFTPServerTestsApi(unittest.TestCase): "agents" : [ { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true }, { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true } ], "createdDate" : "2022-07-17T22:00:54Z", @@ -346,34 +348,36 @@ class TestFTPServerTestsApi(unittest.TestCase): "agents" : [ { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true }, { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true } ], "createdDate" : "2022-07-17T22:00:54Z", @@ -700,34 +704,36 @@ class TestFTPServerTestsApi(unittest.TestCase): "agents" : [ { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true }, { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true } ], "createdDate" : "2022-07-17T22:00:54Z", diff --git a/thousandeyes-sdk-tests/test/test_http_server_tests_api.py b/thousandeyes-sdk-tests/test/test_http_server_tests_api.py index e174a8bc..83451af9 100644 --- a/thousandeyes-sdk-tests/test/test_http_server_tests_api.py +++ b/thousandeyes-sdk-tests/test/test_http_server_tests_api.py @@ -94,6 +94,13 @@ class TestHTTPServerTestsApi(unittest.TestCase): "httpTimeLimit" : 5, "usePublicBgp" : true, "enabled" : true, + "vaultCredentials" : [ { + "secretId" : "f27e85b2-318b-4145-b5aa-c9dc8d8b0819", + "target" : "username" + }, { + "secretId" : "f27e85b2-318b-4145-b5aa-c9dc8d8b0819", + "target" : "username" + } ], "allowUnsafeLegacyRenegotiation" : true, "fixedPacketRate" : 50, "httpVersion" : 2, @@ -264,6 +271,13 @@ class TestHTTPServerTestsApi(unittest.TestCase): "httpTimeLimit" : 5, "usePublicBgp" : true, "enabled" : true, + "vaultCredentials" : [ { + "secretId" : "f27e85b2-318b-4145-b5aa-c9dc8d8b0819", + "target" : "username" + }, { + "secretId" : "f27e85b2-318b-4145-b5aa-c9dc8d8b0819", + "target" : "username" + } ], "allowUnsafeLegacyRenegotiation" : true, "fixedPacketRate" : 50, "httpVersion" : 2, @@ -296,34 +310,36 @@ class TestHTTPServerTestsApi(unittest.TestCase): "agents" : [ { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true }, { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true } ], "createdDate" : "2022-07-17T22:00:54Z", @@ -466,6 +482,13 @@ class TestHTTPServerTestsApi(unittest.TestCase): "httpTimeLimit" : 5, "usePublicBgp" : true, "enabled" : true, + "vaultCredentials" : [ { + "secretId" : "f27e85b2-318b-4145-b5aa-c9dc8d8b0819", + "target" : "username" + }, { + "secretId" : "f27e85b2-318b-4145-b5aa-c9dc8d8b0819", + "target" : "username" + } ], "allowUnsafeLegacyRenegotiation" : true, "fixedPacketRate" : 50, "httpVersion" : 2, @@ -498,34 +521,36 @@ class TestHTTPServerTestsApi(unittest.TestCase): "agents" : [ { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true }, { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true } ], "createdDate" : "2022-07-17T22:00:54Z", @@ -605,6 +630,13 @@ class TestHTTPServerTestsApi(unittest.TestCase): "httpTimeLimit" : 5, "usePublicBgp" : true, "enabled" : true, + "vaultCredentials" : [ { + "secretId" : "f27e85b2-318b-4145-b5aa-c9dc8d8b0819", + "target" : "username" + }, { + "secretId" : "f27e85b2-318b-4145-b5aa-c9dc8d8b0819", + "target" : "username" + } ], "allowUnsafeLegacyRenegotiation" : true, "fixedPacketRate" : 50, "httpVersion" : 2, @@ -700,6 +732,13 @@ class TestHTTPServerTestsApi(unittest.TestCase): "httpTimeLimit" : 5, "usePublicBgp" : true, "enabled" : true, + "vaultCredentials" : [ { + "secretId" : "f27e85b2-318b-4145-b5aa-c9dc8d8b0819", + "target" : "username" + }, { + "secretId" : "f27e85b2-318b-4145-b5aa-c9dc8d8b0819", + "target" : "username" + } ], "allowUnsafeLegacyRenegotiation" : true, "fixedPacketRate" : 50, "httpVersion" : 2, @@ -822,6 +861,13 @@ class TestHTTPServerTestsApi(unittest.TestCase): "httpTimeLimit" : 5, "usePublicBgp" : true, "enabled" : true, + "vaultCredentials" : [ { + "secretId" : "f27e85b2-318b-4145-b5aa-c9dc8d8b0819", + "target" : "username" + }, { + "secretId" : "f27e85b2-318b-4145-b5aa-c9dc8d8b0819", + "target" : "username" + } ], "allowUnsafeLegacyRenegotiation" : true, "fixedPacketRate" : 50, "httpVersion" : 2, @@ -992,6 +1038,13 @@ class TestHTTPServerTestsApi(unittest.TestCase): "httpTimeLimit" : 5, "usePublicBgp" : true, "enabled" : true, + "vaultCredentials" : [ { + "secretId" : "f27e85b2-318b-4145-b5aa-c9dc8d8b0819", + "target" : "username" + }, { + "secretId" : "f27e85b2-318b-4145-b5aa-c9dc8d8b0819", + "target" : "username" + } ], "allowUnsafeLegacyRenegotiation" : true, "fixedPacketRate" : 50, "httpVersion" : 2, @@ -1024,34 +1077,36 @@ class TestHTTPServerTestsApi(unittest.TestCase): "agents" : [ { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true }, { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true } ], "createdDate" : "2022-07-17T22:00:54Z", diff --git a/thousandeyes-sdk-tests/test/test_page_load_tests_api.py b/thousandeyes-sdk-tests/test/test_page_load_tests_api.py index 415a6c40..a9d4c0fd 100644 --- a/thousandeyes-sdk-tests/test/test_page_load_tests_api.py +++ b/thousandeyes-sdk-tests/test/test_page_load_tests_api.py @@ -100,6 +100,13 @@ class TestPageLoadTestsApi(unittest.TestCase): "blockDomains" : "domain.com/", "usePublicBgp" : true, "enabled" : true, + "vaultCredentials" : [ { + "secretId" : "f27e85b2-318b-4145-b5aa-c9dc8d8b0819", + "target" : "username" + }, { + "secretId" : "f27e85b2-318b-4145-b5aa-c9dc8d8b0819", + "target" : "username" + } ], "allowGeolocation" : false, "allowUnsafeLegacyRenegotiation" : true, "fixedPacketRate" : 50, @@ -281,6 +288,13 @@ class TestPageLoadTestsApi(unittest.TestCase): "blockDomains" : "domain.com/", "usePublicBgp" : true, "enabled" : true, + "vaultCredentials" : [ { + "secretId" : "f27e85b2-318b-4145-b5aa-c9dc8d8b0819", + "target" : "username" + }, { + "secretId" : "f27e85b2-318b-4145-b5aa-c9dc8d8b0819", + "target" : "username" + } ], "allowGeolocation" : false, "allowUnsafeLegacyRenegotiation" : true, "fixedPacketRate" : 50, @@ -316,34 +330,36 @@ class TestPageLoadTestsApi(unittest.TestCase): "agents" : [ { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true }, { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true } ], "createdDate" : "2022-07-17T22:00:54Z", @@ -494,6 +510,13 @@ class TestPageLoadTestsApi(unittest.TestCase): "blockDomains" : "domain.com/", "usePublicBgp" : true, "enabled" : true, + "vaultCredentials" : [ { + "secretId" : "f27e85b2-318b-4145-b5aa-c9dc8d8b0819", + "target" : "username" + }, { + "secretId" : "f27e85b2-318b-4145-b5aa-c9dc8d8b0819", + "target" : "username" + } ], "allowGeolocation" : false, "allowUnsafeLegacyRenegotiation" : true, "fixedPacketRate" : 50, @@ -529,34 +552,36 @@ class TestPageLoadTestsApi(unittest.TestCase): "agents" : [ { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true }, { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true } ], "createdDate" : "2022-07-17T22:00:54Z", @@ -644,6 +669,13 @@ class TestPageLoadTestsApi(unittest.TestCase): "blockDomains" : "domain.com/", "usePublicBgp" : true, "enabled" : true, + "vaultCredentials" : [ { + "secretId" : "f27e85b2-318b-4145-b5aa-c9dc8d8b0819", + "target" : "username" + }, { + "secretId" : "f27e85b2-318b-4145-b5aa-c9dc8d8b0819", + "target" : "username" + } ], "allowGeolocation" : false, "allowUnsafeLegacyRenegotiation" : true, "fixedPacketRate" : 50, @@ -750,6 +782,13 @@ class TestPageLoadTestsApi(unittest.TestCase): "blockDomains" : "domain.com/", "usePublicBgp" : true, "enabled" : true, + "vaultCredentials" : [ { + "secretId" : "f27e85b2-318b-4145-b5aa-c9dc8d8b0819", + "target" : "username" + }, { + "secretId" : "f27e85b2-318b-4145-b5aa-c9dc8d8b0819", + "target" : "username" + } ], "allowGeolocation" : false, "allowUnsafeLegacyRenegotiation" : true, "fixedPacketRate" : 50, @@ -883,6 +922,13 @@ class TestPageLoadTestsApi(unittest.TestCase): "blockDomains" : "domain.com/", "usePublicBgp" : true, "enabled" : true, + "vaultCredentials" : [ { + "secretId" : "f27e85b2-318b-4145-b5aa-c9dc8d8b0819", + "target" : "username" + }, { + "secretId" : "f27e85b2-318b-4145-b5aa-c9dc8d8b0819", + "target" : "username" + } ], "allowGeolocation" : false, "allowUnsafeLegacyRenegotiation" : true, "fixedPacketRate" : 50, @@ -1064,6 +1110,13 @@ class TestPageLoadTestsApi(unittest.TestCase): "blockDomains" : "domain.com/", "usePublicBgp" : true, "enabled" : true, + "vaultCredentials" : [ { + "secretId" : "f27e85b2-318b-4145-b5aa-c9dc8d8b0819", + "target" : "username" + }, { + "secretId" : "f27e85b2-318b-4145-b5aa-c9dc8d8b0819", + "target" : "username" + } ], "allowGeolocation" : false, "allowUnsafeLegacyRenegotiation" : true, "fixedPacketRate" : 50, @@ -1099,34 +1152,36 @@ class TestPageLoadTestsApi(unittest.TestCase): "agents" : [ { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true }, { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true } ], "createdDate" : "2022-07-17T22:00:54Z", diff --git a/thousandeyes-sdk-tests/test/test_sip_server_tests_api.py b/thousandeyes-sdk-tests/test/test_sip_server_tests_api.py index b19219c3..999aa655 100644 --- a/thousandeyes-sdk-tests/test/test_sip_server_tests_api.py +++ b/thousandeyes-sdk-tests/test/test_sip_server_tests_api.py @@ -95,21 +95,7 @@ class TestSIPServerTestsApi(unittest.TestCase): "interval" : 60, "testId" : "281474976710706", "sharedWithAccounts" : [ "1234", "12345" ], - "monitors" : [ { - "monitorType" : "public", - "monitorId" : "1234", - "monitorName" : "Seattle, WA", - "ipAddress" : "4.69.184.193", - "countryId" : "GB", - "network" : "Level 3 Communications, Inc. (AS 3356)" - }, { - "monitorType" : "public", - "monitorId" : "1234", - "monitorName" : "Seattle, WA", - "ipAddress" : "4.69.184.193", - "countryId" : "GB", - "network" : "Level 3 Communications, Inc. (AS 3356)" - } ] + "monitors" : [ "17410", "5" ] } """ @@ -201,34 +187,36 @@ class TestSIPServerTestsApi(unittest.TestCase): "agents" : [ { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true }, { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true } ], "createdDate" : "2022-07-17T22:00:54Z", @@ -359,34 +347,36 @@ class TestSIPServerTestsApi(unittest.TestCase): "agents" : [ { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true }, { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true } ], "createdDate" : "2022-07-17T22:00:54Z", @@ -619,21 +609,7 @@ class TestSIPServerTestsApi(unittest.TestCase): "interval" : 60, "testId" : "281474976710706", "sharedWithAccounts" : [ "1234", "12345" ], - "monitors" : [ { - "monitorType" : "public", - "monitorId" : "1234", - "monitorName" : "Seattle, WA", - "ipAddress" : "4.69.184.193", - "countryId" : "GB", - "network" : "Level 3 Communications, Inc. (AS 3356)" - }, { - "monitorType" : "public", - "monitorId" : "1234", - "monitorName" : "Seattle, WA", - "ipAddress" : "4.69.184.193", - "countryId" : "GB", - "network" : "Level 3 Communications, Inc. (AS 3356)" - } ] + "monitors" : [ "17410", "5" ] } """ @@ -725,34 +701,36 @@ class TestSIPServerTestsApi(unittest.TestCase): "agents" : [ { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true }, { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true } ], "createdDate" : "2022-07-17T22:00:54Z", diff --git a/thousandeyes-sdk-tests/test/test_voice_tests_api.py b/thousandeyes-sdk-tests/test/test_voice_tests_api.py index 06af0dd2..2f08db03 100644 --- a/thousandeyes-sdk-tests/test/test_voice_tests_api.py +++ b/thousandeyes-sdk-tests/test/test_voice_tests_api.py @@ -85,21 +85,7 @@ class TestVoiceTestsApi(unittest.TestCase): "interval" : 60, "testId" : "281474976710706", "sharedWithAccounts" : [ "1234", "12345" ], - "monitors" : [ { - "monitorType" : "public", - "monitorId" : "1234", - "monitorName" : "Seattle, WA", - "ipAddress" : "4.69.184.193", - "countryId" : "GB", - "network" : "Level 3 Communications, Inc. (AS 3356)" - }, { - "monitorType" : "public", - "monitorId" : "1234", - "monitorName" : "Seattle, WA", - "ipAddress" : "4.69.184.193", - "countryId" : "GB", - "network" : "Level 3 Communications, Inc. (AS 3356)" - } ] + "monitors" : [ "17410", "5" ] } """ @@ -182,34 +168,36 @@ class TestVoiceTestsApi(unittest.TestCase): "agents" : [ { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true }, { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true } ], "codec" : "G.711 @ 64 Kbps", @@ -332,34 +320,36 @@ class TestVoiceTestsApi(unittest.TestCase): "agents" : [ { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true }, { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true } ], "codec" : "G.711 @ 64 Kbps", @@ -567,21 +557,7 @@ class TestVoiceTestsApi(unittest.TestCase): "interval" : 60, "testId" : "281474976710706", "sharedWithAccounts" : [ "1234", "12345" ], - "monitors" : [ { - "monitorType" : "public", - "monitorId" : "1234", - "monitorName" : "Seattle, WA", - "ipAddress" : "4.69.184.193", - "countryId" : "GB", - "network" : "Level 3 Communications, Inc. (AS 3356)" - }, { - "monitorType" : "public", - "monitorId" : "1234", - "monitorName" : "Seattle, WA", - "ipAddress" : "4.69.184.193", - "countryId" : "GB", - "network" : "Level 3 Communications, Inc. (AS 3356)" - } ] + "monitors" : [ "17410", "5" ] } """ @@ -664,34 +640,36 @@ class TestVoiceTestsApi(unittest.TestCase): "agents" : [ { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true }, { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true } ], "codec" : "G.711 @ 64 Kbps", diff --git a/thousandeyes-sdk-tests/test/test_web_transaction_tests_api.py b/thousandeyes-sdk-tests/test/test_web_transaction_tests_api.py index d75a0321..a60cdeb7 100644 --- a/thousandeyes-sdk-tests/test/test_web_transaction_tests_api.py +++ b/thousandeyes-sdk-tests/test/test_web_transaction_tests_api.py @@ -100,6 +100,13 @@ class TestWebTransactionTestsApi(unittest.TestCase): "blockDomains" : "domain.com/", "usePublicBgp" : true, "enabled" : true, + "vaultCredentials" : [ { + "secretId" : "f27e85b2-318b-4145-b5aa-c9dc8d8b0819", + "target" : "username" + }, { + "secretId" : "f27e85b2-318b-4145-b5aa-c9dc8d8b0819", + "target" : "username" + } ], "allowGeolocation" : false, "allowUnsafeLegacyRenegotiation" : true, "fixedPacketRate" : 50, @@ -282,6 +289,13 @@ class TestWebTransactionTestsApi(unittest.TestCase): "blockDomains" : "domain.com/", "usePublicBgp" : true, "enabled" : true, + "vaultCredentials" : [ { + "secretId" : "f27e85b2-318b-4145-b5aa-c9dc8d8b0819", + "target" : "username" + }, { + "secretId" : "f27e85b2-318b-4145-b5aa-c9dc8d8b0819", + "target" : "username" + } ], "allowGeolocation" : false, "allowUnsafeLegacyRenegotiation" : true, "fixedPacketRate" : 50, @@ -316,34 +330,36 @@ class TestWebTransactionTestsApi(unittest.TestCase): "agents" : [ { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true }, { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true } ], "timeLimit" : 30, @@ -496,6 +512,13 @@ class TestWebTransactionTestsApi(unittest.TestCase): "blockDomains" : "domain.com/", "usePublicBgp" : true, "enabled" : true, + "vaultCredentials" : [ { + "secretId" : "f27e85b2-318b-4145-b5aa-c9dc8d8b0819", + "target" : "username" + }, { + "secretId" : "f27e85b2-318b-4145-b5aa-c9dc8d8b0819", + "target" : "username" + } ], "allowGeolocation" : false, "allowUnsafeLegacyRenegotiation" : true, "fixedPacketRate" : 50, @@ -530,34 +553,36 @@ class TestWebTransactionTestsApi(unittest.TestCase): "agents" : [ { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true }, { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true } ], "timeLimit" : 30, @@ -646,6 +671,13 @@ class TestWebTransactionTestsApi(unittest.TestCase): "blockDomains" : "domain.com/", "usePublicBgp" : true, "enabled" : true, + "vaultCredentials" : [ { + "secretId" : "f27e85b2-318b-4145-b5aa-c9dc8d8b0819", + "target" : "username" + }, { + "secretId" : "f27e85b2-318b-4145-b5aa-c9dc8d8b0819", + "target" : "username" + } ], "allowGeolocation" : false, "allowUnsafeLegacyRenegotiation" : true, "fixedPacketRate" : 50, @@ -752,6 +784,13 @@ class TestWebTransactionTestsApi(unittest.TestCase): "blockDomains" : "domain.com/", "usePublicBgp" : true, "enabled" : true, + "vaultCredentials" : [ { + "secretId" : "f27e85b2-318b-4145-b5aa-c9dc8d8b0819", + "target" : "username" + }, { + "secretId" : "f27e85b2-318b-4145-b5aa-c9dc8d8b0819", + "target" : "username" + } ], "allowGeolocation" : false, "allowUnsafeLegacyRenegotiation" : true, "fixedPacketRate" : 50, @@ -886,6 +925,13 @@ class TestWebTransactionTestsApi(unittest.TestCase): "blockDomains" : "domain.com/", "usePublicBgp" : true, "enabled" : true, + "vaultCredentials" : [ { + "secretId" : "f27e85b2-318b-4145-b5aa-c9dc8d8b0819", + "target" : "username" + }, { + "secretId" : "f27e85b2-318b-4145-b5aa-c9dc8d8b0819", + "target" : "username" + } ], "allowGeolocation" : false, "allowUnsafeLegacyRenegotiation" : true, "fixedPacketRate" : 50, @@ -1068,6 +1114,13 @@ class TestWebTransactionTestsApi(unittest.TestCase): "blockDomains" : "domain.com/", "usePublicBgp" : true, "enabled" : true, + "vaultCredentials" : [ { + "secretId" : "f27e85b2-318b-4145-b5aa-c9dc8d8b0819", + "target" : "username" + }, { + "secretId" : "f27e85b2-318b-4145-b5aa-c9dc8d8b0819", + "target" : "username" + } ], "allowGeolocation" : false, "allowUnsafeLegacyRenegotiation" : true, "fixedPacketRate" : 50, @@ -1102,34 +1155,36 @@ class TestWebTransactionTestsApi(unittest.TestCase): "agents" : [ { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true }, { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", - "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], "prefix" : "99.128.0.0/11", "coordinates" : { "latitude" : 37.77493, "longitude" : -122.41942 }, "agentName" : "thousandeyes-stg-va-254", - "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], - "location" : "San Francisco Bay Area", + "networkProviderInfo" : "", "countryId" : "US", "enabled" : true, "network" : "AT&T Services, Inc. (AS 7018)", + "publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ], + "ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ], + "location" : "San Francisco Bay Area", "verifySslCertificates" : true } ], "timeLimit" : 30, diff --git a/thousandeyes-sdk-usage/README.md b/thousandeyes-sdk-usage/README.md index 0a1965b3..84d89717 100644 --- a/thousandeyes-sdk-usage/README.md +++ b/thousandeyes-sdk-usage/README.md @@ -1,5 +1,4 @@ # thousandeyes-sdk-usage - These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). @@ -18,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.84 +- API version: 7.0.88 - Generator version: 7.6.0 - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator diff --git a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/__init__.py b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/__init__.py index 84a86268..57b33de7 100644 --- a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/__init__.py +++ b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/__init__.py @@ -5,7 +5,7 @@ """ Usage API - These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * The `agentId` field in enterprise agent unit responses may be omitted when not available. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. + These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * The `agentId` field in enterprise agent unit responses may be omitted when not available. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/api/quotas_api.py b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/api/quotas_api.py index 9af00b21..b76a3512 100644 --- a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/api/quotas_api.py +++ b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/api/quotas_api.py @@ -3,7 +3,7 @@ """ Usage API - These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * The `agentId` field in enterprise agent unit responses may be omitted when not available. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. + These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * The `agentId` field in enterprise agent unit responses may be omitted when not available. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/api/usage_api.py b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/api/usage_api.py index c1396d8f..e8b4c198 100644 --- a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/api/usage_api.py +++ b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/api/usage_api.py @@ -3,7 +3,7 @@ """ Usage API - These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * The `agentId` field in enterprise agent unit responses may be omitted when not available. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. + These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * The `agentId` field in enterprise agent unit responses may be omitted when not available. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/__init__.py b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/__init__.py index 70519c34..5cb8fc40 100644 --- a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/__init__.py +++ b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/__init__.py @@ -4,7 +4,7 @@ """ Usage API - These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * The `agentId` field in enterprise agent unit responses may be omitted when not available. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. + These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * The `agentId` field in enterprise agent unit responses may be omitted when not available. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/account_group_quota.py b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/account_group_quota.py index 106b834f..6e62d575 100644 --- a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/account_group_quota.py +++ b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/account_group_quota.py @@ -3,7 +3,7 @@ """ Usage API - These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * The `agentId` field in enterprise agent unit responses may be omitted when not available. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. + These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * The `agentId` field in enterprise agent unit responses may be omitted when not available. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/allocation_unit_usage_breakdown.py b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/allocation_unit_usage_breakdown.py index 1f52b062..992c6809 100644 --- a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/allocation_unit_usage_breakdown.py +++ b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/allocation_unit_usage_breakdown.py @@ -3,7 +3,7 @@ """ Usage API - These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * The `agentId` field in enterprise agent unit responses may be omitted when not available. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. + These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * The `agentId` field in enterprise agent unit responses may be omitted when not available. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/endpoint_agents_embedded.py b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/endpoint_agents_embedded.py index f8f85911..4b595cb5 100644 --- a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/endpoint_agents_embedded.py +++ b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/endpoint_agents_embedded.py @@ -3,7 +3,7 @@ """ Usage API - These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * The `agentId` field in enterprise agent unit responses may be omitted when not available. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. + These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * The `agentId` field in enterprise agent unit responses may be omitted when not available. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/endpoint_agents_essentials.py b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/endpoint_agents_essentials.py index 3449a34b..ed86888c 100644 --- a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/endpoint_agents_essentials.py +++ b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/endpoint_agents_essentials.py @@ -3,7 +3,7 @@ """ Usage API - These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * The `agentId` field in enterprise agent unit responses may be omitted when not available. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. + These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * The `agentId` field in enterprise agent unit responses may be omitted when not available. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/endpoint_agents_usage.py b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/endpoint_agents_usage.py index 8690ffdb..e6b47ab6 100644 --- a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/endpoint_agents_usage.py +++ b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/endpoint_agents_usage.py @@ -3,7 +3,7 @@ """ Usage API - These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * The `agentId` field in enterprise agent unit responses may be omitted when not available. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. + These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * The `agentId` field in enterprise agent unit responses may be omitted when not available. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/enterprise_agent_units.py b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/enterprise_agent_units.py index a24b9cda..85bafaf3 100644 --- a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/enterprise_agent_units.py +++ b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/enterprise_agent_units.py @@ -3,7 +3,7 @@ """ Usage API - These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * The `agentId` field in enterprise agent unit responses may be omitted when not available. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. + These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * The `agentId` field in enterprise agent unit responses may be omitted when not available. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/enterprise_agent_units_by_test_owner_account_group.py b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/enterprise_agent_units_by_test_owner_account_group.py index d59dc410..f4ef6c87 100644 --- a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/enterprise_agent_units_by_test_owner_account_group.py +++ b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/enterprise_agent_units_by_test_owner_account_group.py @@ -3,7 +3,7 @@ """ Usage API - These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * The `agentId` field in enterprise agent unit responses may be omitted when not available. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. + These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * The `agentId` field in enterprise agent unit responses may be omitted when not available. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/enterprise_agents.py b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/enterprise_agents.py index 1961bad9..04293493 100644 --- a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/enterprise_agents.py +++ b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/enterprise_agents.py @@ -3,7 +3,7 @@ """ Usage API - These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * The `agentId` field in enterprise agent unit responses may be omitted when not available. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. + These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * The `agentId` field in enterprise agent unit responses may be omitted when not available. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/enterprise_agents_usage.py b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/enterprise_agents_usage.py index 0d5b92e4..afeb43ff 100644 --- a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/enterprise_agents_usage.py +++ b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/enterprise_agents_usage.py @@ -3,7 +3,7 @@ """ Usage API - These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * The `agentId` field in enterprise agent unit responses may be omitted when not available. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. + These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * The `agentId` field in enterprise agent unit responses may be omitted when not available. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/error.py b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/error.py index 3d8991c6..4b3ecf7b 100644 --- a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/error.py +++ b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/error.py @@ -3,7 +3,7 @@ """ Usage API - These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * The `agentId` field in enterprise agent unit responses may be omitted when not available. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. + These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * The `agentId` field in enterprise agent unit responses may be omitted when not available. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/expand_usage_options.py b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/expand_usage_options.py index fc48d4c4..f569ef61 100644 --- a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/expand_usage_options.py +++ b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/expand_usage_options.py @@ -3,7 +3,7 @@ """ Usage API - These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * The `agentId` field in enterprise agent unit responses may be omitted when not available. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. + These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * The `agentId` field in enterprise agent unit responses may be omitted when not available. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/link.py b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/link.py index 58ea441e..06ceafff 100644 --- a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/link.py +++ b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/link.py @@ -3,7 +3,7 @@ """ Usage API - These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * The `agentId` field in enterprise agent unit responses may be omitted when not available. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. + These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * The `agentId` field in enterprise agent unit responses may be omitted when not available. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/organization_quota.py b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/organization_quota.py index 707de8ff..a6e16267 100644 --- a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/organization_quota.py +++ b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/organization_quota.py @@ -3,7 +3,7 @@ """ Usage API - These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * The `agentId` field in enterprise agent unit responses may be omitted when not available. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. + These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * The `agentId` field in enterprise agent unit responses may be omitted when not available. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/organization_quota_assignment.py b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/organization_quota_assignment.py index db50148d..b30de98e 100644 --- a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/organization_quota_assignment.py +++ b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/organization_quota_assignment.py @@ -3,7 +3,7 @@ """ Usage API - These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * The `agentId` field in enterprise agent unit responses may be omitted when not available. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. + These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * The `agentId` field in enterprise agent unit responses may be omitted when not available. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/organization_quota_unassignment.py b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/organization_quota_unassignment.py index 76b9e161..e9ddf29c 100644 --- a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/organization_quota_unassignment.py +++ b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/organization_quota_unassignment.py @@ -3,7 +3,7 @@ """ Usage API - These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * The `agentId` field in enterprise agent unit responses may be omitted when not available. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. + These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * The `agentId` field in enterprise agent unit responses may be omitted when not available. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/organizations_quotas_assign.py b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/organizations_quotas_assign.py index b3695b79..d03c0d1e 100644 --- a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/organizations_quotas_assign.py +++ b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/organizations_quotas_assign.py @@ -3,7 +3,7 @@ """ Usage API - These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * The `agentId` field in enterprise agent unit responses may be omitted when not available. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. + These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * The `agentId` field in enterprise agent unit responses may be omitted when not available. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/organizations_quotas_unassign.py b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/organizations_quotas_unassign.py index 02ed639c..6cc84449 100644 --- a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/organizations_quotas_unassign.py +++ b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/organizations_quotas_unassign.py @@ -3,7 +3,7 @@ """ Usage API - These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * The `agentId` field in enterprise agent unit responses may be omitted when not available. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. + These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * The `agentId` field in enterprise agent unit responses may be omitted when not available. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/pagination_links.py b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/pagination_links.py index a3b0e2a5..6574c474 100644 --- a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/pagination_links.py +++ b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/pagination_links.py @@ -3,7 +3,7 @@ """ Usage API - These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * The `agentId` field in enterprise agent unit responses may be omitted when not available. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. + These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * The `agentId` field in enterprise agent unit responses may be omitted when not available. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/quota.py b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/quota.py index a0a2b4a3..26937b67 100644 --- a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/quota.py +++ b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/quota.py @@ -3,7 +3,7 @@ """ Usage API - These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * The `agentId` field in enterprise agent unit responses may be omitted when not available. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. + These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * The `agentId` field in enterprise agent unit responses may be omitted when not available. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/quotas.py b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/quotas.py index 4e6b3aa6..734d5d77 100644 --- a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/quotas.py +++ b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/quotas.py @@ -3,7 +3,7 @@ """ Usage API - These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * The `agentId` field in enterprise agent unit responses may be omitted when not available. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. + These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * The `agentId` field in enterprise agent unit responses may be omitted when not available. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/quotas_assign_request.py b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/quotas_assign_request.py index d9b00044..a7c5773a 100644 --- a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/quotas_assign_request.py +++ b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/quotas_assign_request.py @@ -3,7 +3,7 @@ """ Usage API - These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * The `agentId` field in enterprise agent unit responses may be omitted when not available. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. + These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * The `agentId` field in enterprise agent unit responses may be omitted when not available. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/quotas_assign_response.py b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/quotas_assign_response.py index a80e7f23..1b29d201 100644 --- a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/quotas_assign_response.py +++ b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/quotas_assign_response.py @@ -3,7 +3,7 @@ """ Usage API - These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * The `agentId` field in enterprise agent unit responses may be omitted when not available. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. + These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * The `agentId` field in enterprise agent unit responses may be omitted when not available. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/quotas_unassign.py b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/quotas_unassign.py index 976f96dc..46325377 100644 --- a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/quotas_unassign.py +++ b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/quotas_unassign.py @@ -3,7 +3,7 @@ """ Usage API - These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * The `agentId` field in enterprise agent unit responses may be omitted when not available. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. + These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * The `agentId` field in enterprise agent unit responses may be omitted when not available. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/self_links.py b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/self_links.py index dccbaf1d..7bfcfe09 100644 --- a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/self_links.py +++ b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/self_links.py @@ -3,7 +3,7 @@ """ Usage API - These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * The `agentId` field in enterprise agent unit responses may be omitted when not available. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. + These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * The `agentId` field in enterprise agent unit responses may be omitted when not available. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/test_usage.py b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/test_usage.py index f78f3e84..20f265ea 100644 --- a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/test_usage.py +++ b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/test_usage.py @@ -3,7 +3,7 @@ """ Usage API - These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * The `agentId` field in enterprise agent unit responses may be omitted when not available. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. + These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * The `agentId` field in enterprise agent unit responses may be omitted when not available. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/tests_usage.py b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/tests_usage.py index 213e3b62..61d09cfd 100644 --- a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/tests_usage.py +++ b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/tests_usage.py @@ -3,7 +3,7 @@ """ Usage API - These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * The `agentId` field in enterprise agent unit responses may be omitted when not available. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. + These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * The `agentId` field in enterprise agent unit responses may be omitted when not available. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/unauthorized_error.py b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/unauthorized_error.py index b8834950..0a8cfa3a 100644 --- a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/unauthorized_error.py +++ b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/unauthorized_error.py @@ -3,7 +3,7 @@ """ Usage API - These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * The `agentId` field in enterprise agent unit responses may be omitted when not available. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. + These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * The `agentId` field in enterprise agent unit responses may be omitted when not available. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/unit_allocation_summary.py b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/unit_allocation_summary.py index dc3c9423..cdbed171 100644 --- a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/unit_allocation_summary.py +++ b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/unit_allocation_summary.py @@ -3,7 +3,7 @@ """ Usage API - These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * The `agentId` field in enterprise agent unit responses may be omitted when not available. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. + These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * The `agentId` field in enterprise agent unit responses may be omitted when not available. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/units_by_tests.py b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/units_by_tests.py index b07a73e5..da20f9d5 100644 --- a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/units_by_tests.py +++ b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/units_by_tests.py @@ -3,7 +3,7 @@ """ Usage API - These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * The `agentId` field in enterprise agent unit responses may be omitted when not available. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. + These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * The `agentId` field in enterprise agent unit responses may be omitted when not available. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/usage.py b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/usage.py index eb1a0770..d2506daa 100644 --- a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/usage.py +++ b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/usage.py @@ -3,7 +3,7 @@ """ Usage API - These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * The `agentId` field in enterprise agent unit responses may be omitted when not available. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. + These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * The `agentId` field in enterprise agent unit responses may be omitted when not available. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/usage_details.py b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/usage_details.py index 6f0e87d8..174741a8 100644 --- a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/usage_details.py +++ b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/usage_details.py @@ -3,7 +3,7 @@ """ Usage API - These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * The `agentId` field in enterprise agent unit responses may be omitted when not available. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. + These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * The `agentId` field in enterprise agent unit responses may be omitted when not available. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/usage_quota.py b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/usage_quota.py index f8d82157..84e64f53 100644 --- a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/usage_quota.py +++ b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/usage_quota.py @@ -3,7 +3,7 @@ """ Usage API - These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * The `agentId` field in enterprise agent unit responses may be omitted when not available. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. + These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * The `agentId` field in enterprise agent unit responses may be omitted when not available. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/validation_error.py b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/validation_error.py index 9daee1e3..11f66ab0 100644 --- a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/validation_error.py +++ b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/validation_error.py @@ -3,7 +3,7 @@ """ Usage API - These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * The `agentId` field in enterprise agent unit responses may be omitted when not available. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. + These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * The `agentId` field in enterprise agent unit responses may be omitted when not available. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/validation_error_item.py b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/validation_error_item.py index d6b8636c..9b7a77fa 100644 --- a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/validation_error_item.py +++ b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/validation_error_item.py @@ -3,7 +3,7 @@ """ Usage API - These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * The `agentId` field in enterprise agent unit responses may be omitted when not available. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. + These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * The `agentId` field in enterprise agent unit responses may be omitted when not available. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-usage/test/test_quotas_api.py b/thousandeyes-sdk-usage/test/test_quotas_api.py index fbfa8998..73b84429 100644 --- a/thousandeyes-sdk-usage/test/test_quotas_api.py +++ b/thousandeyes-sdk-usage/test/test_quotas_api.py @@ -3,7 +3,7 @@ """ Usage API - These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * The `agentId` field in enterprise agent unit responses may be omitted when not available. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. + These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * The `agentId` field in enterprise agent unit responses may be omitted when not available. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. Generated by OpenAPI Generator (https://openapi-generator.tech) diff --git a/thousandeyes-sdk-usage/test/test_usage_api.py b/thousandeyes-sdk-usage/test/test_usage_api.py index 1f6a70c2..a663aa5e 100644 --- a/thousandeyes-sdk-usage/test/test_usage_api.py +++ b/thousandeyes-sdk-usage/test/test_usage_api.py @@ -3,7 +3,7 @@ """ Usage API - These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * The `agentId` field in enterprise agent unit responses may be omitted when not available. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. + These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * The `agentId` field in enterprise agent unit responses may be omitted when not available. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. Generated by OpenAPI Generator (https://openapi-generator.tech)