thousandeyes-sdk-instant-tests 1.1.0__py3-none-any.whl → 1.2.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (110) hide show
  1. thousandeyes_sdk/instant_tests/__init__.py +3 -1
  2. thousandeyes_sdk/instant_tests/api/agent_to_agent_api.py +0 -1
  3. thousandeyes_sdk/instant_tests/api/agent_to_server_api.py +0 -1
  4. thousandeyes_sdk/instant_tests/api/api_api.py +0 -1
  5. thousandeyes_sdk/instant_tests/api/dns_security_api.py +0 -1
  6. thousandeyes_sdk/instant_tests/api/dns_server_api.py +0 -1
  7. thousandeyes_sdk/instant_tests/api/dns_trace_api.py +0 -1
  8. thousandeyes_sdk/instant_tests/api/ftp_server_api.py +0 -1
  9. thousandeyes_sdk/instant_tests/api/http_page_load_api.py +0 -1
  10. thousandeyes_sdk/instant_tests/api/http_server_api.py +0 -1
  11. thousandeyes_sdk/instant_tests/api/run_api.py +0 -1
  12. thousandeyes_sdk/instant_tests/api/sip_server_api.py +0 -1
  13. thousandeyes_sdk/instant_tests/api/voice_api.py +0 -1
  14. thousandeyes_sdk/instant_tests/api/web_transaction_api.py +0 -1
  15. thousandeyes_sdk/instant_tests/models/__init__.py +3 -1
  16. thousandeyes_sdk/instant_tests/models/agent.py +0 -1
  17. thousandeyes_sdk/instant_tests/models/agent_base.py +0 -1
  18. thousandeyes_sdk/instant_tests/models/agent_interfaces.py +89 -0
  19. thousandeyes_sdk/instant_tests/models/agent_to_agent_instant_test.py +0 -1
  20. thousandeyes_sdk/instant_tests/models/agent_to_agent_instant_test_request.py +0 -1
  21. thousandeyes_sdk/instant_tests/models/agent_to_agent_properties.py +0 -1
  22. thousandeyes_sdk/instant_tests/models/agent_to_agent_test_protocol.py +0 -1
  23. thousandeyes_sdk/instant_tests/models/agent_to_server_instant_test.py +0 -1
  24. thousandeyes_sdk/instant_tests/models/agent_to_server_instant_test_request.py +0 -1
  25. thousandeyes_sdk/instant_tests/models/agent_to_server_properties.py +0 -1
  26. thousandeyes_sdk/instant_tests/models/api_instant_test.py +0 -1
  27. thousandeyes_sdk/instant_tests/models/api_instant_test_request.py +0 -1
  28. thousandeyes_sdk/instant_tests/models/api_predefined_variable.py +0 -1
  29. thousandeyes_sdk/instant_tests/models/api_properties.py +0 -1
  30. thousandeyes_sdk/instant_tests/models/api_request.py +0 -1
  31. thousandeyes_sdk/instant_tests/models/api_request_assertion.py +0 -1
  32. thousandeyes_sdk/instant_tests/models/api_request_assertion_name.py +0 -1
  33. thousandeyes_sdk/instant_tests/models/api_request_assertion_operator.py +0 -1
  34. thousandeyes_sdk/instant_tests/models/api_request_auth_type.py +0 -1
  35. thousandeyes_sdk/instant_tests/models/api_request_header.py +0 -1
  36. thousandeyes_sdk/instant_tests/models/api_request_method.py +0 -1
  37. thousandeyes_sdk/instant_tests/models/api_request_variable.py +0 -1
  38. thousandeyes_sdk/instant_tests/models/cloud_enterprise_agent_type.py +0 -1
  39. thousandeyes_sdk/instant_tests/models/dns_query_class.py +0 -1
  40. thousandeyes_sdk/instant_tests/models/dns_sec_instant_test.py +0 -1
  41. thousandeyes_sdk/instant_tests/models/dns_sec_instant_test_request.py +0 -1
  42. thousandeyes_sdk/instant_tests/models/dns_sec_properties.py +0 -1
  43. thousandeyes_sdk/instant_tests/models/dns_server_instant_test.py +0 -1
  44. thousandeyes_sdk/instant_tests/models/dns_server_instant_test_request.py +0 -1
  45. thousandeyes_sdk/instant_tests/models/dns_server_properties.py +0 -1
  46. thousandeyes_sdk/instant_tests/models/dns_servers_request.py +0 -1
  47. thousandeyes_sdk/instant_tests/models/dns_trace_instant_test.py +0 -1
  48. thousandeyes_sdk/instant_tests/models/dns_trace_instant_test_request.py +0 -1
  49. thousandeyes_sdk/instant_tests/models/dns_trace_properties.py +0 -1
  50. thousandeyes_sdk/instant_tests/models/error.py +0 -1
  51. thousandeyes_sdk/instant_tests/models/expand.py +0 -1
  52. thousandeyes_sdk/instant_tests/models/ftp_server_instant_test.py +0 -1
  53. thousandeyes_sdk/instant_tests/models/ftp_server_properties.py +0 -1
  54. thousandeyes_sdk/instant_tests/models/ftp_server_request_type.py +0 -1
  55. thousandeyes_sdk/instant_tests/models/http_server_base_properties.py +21 -4
  56. thousandeyes_sdk/instant_tests/models/http_server_instant_test.py +19 -6
  57. thousandeyes_sdk/instant_tests/models/http_server_instant_test_request.py +19 -6
  58. thousandeyes_sdk/instant_tests/models/http_server_properties.py +19 -6
  59. thousandeyes_sdk/instant_tests/models/instant_test.py +0 -1
  60. thousandeyes_sdk/instant_tests/models/instant_test_request.py +0 -1
  61. thousandeyes_sdk/instant_tests/models/link.py +0 -1
  62. thousandeyes_sdk/instant_tests/models/o_auth.py +103 -0
  63. thousandeyes_sdk/instant_tests/models/page_load_instant_test.py +20 -3
  64. thousandeyes_sdk/instant_tests/models/page_load_instant_test_request.py +20 -3
  65. thousandeyes_sdk/instant_tests/models/page_load_properties.py +20 -3
  66. thousandeyes_sdk/instant_tests/models/request_method.py +41 -0
  67. thousandeyes_sdk/instant_tests/models/server_instant_test_request.py +0 -1
  68. thousandeyes_sdk/instant_tests/models/shared_with_account.py +0 -1
  69. thousandeyes_sdk/instant_tests/models/simple_agent.py +0 -1
  70. thousandeyes_sdk/instant_tests/models/sip_server_instant_test.py +0 -1
  71. thousandeyes_sdk/instant_tests/models/sip_server_instant_test_request.py +0 -1
  72. thousandeyes_sdk/instant_tests/models/sip_server_instant_test_request1.py +0 -1
  73. thousandeyes_sdk/instant_tests/models/sip_server_instant_test_response.py +0 -1
  74. thousandeyes_sdk/instant_tests/models/sip_server_properties.py +0 -1
  75. thousandeyes_sdk/instant_tests/models/sip_test_protocol.py +0 -1
  76. thousandeyes_sdk/instant_tests/models/test_agent.py +0 -1
  77. thousandeyes_sdk/instant_tests/models/test_auth_type.py +0 -1
  78. thousandeyes_sdk/instant_tests/models/test_custom_headers.py +0 -1
  79. thousandeyes_sdk/instant_tests/models/test_direction.py +0 -1
  80. thousandeyes_sdk/instant_tests/models/test_dns_server.py +0 -1
  81. thousandeyes_sdk/instant_tests/models/test_dns_transport_protocol.py +0 -1
  82. thousandeyes_sdk/instant_tests/models/test_dscp_id.py +0 -1
  83. thousandeyes_sdk/instant_tests/models/test_ipv6_policy.py +0 -1
  84. thousandeyes_sdk/instant_tests/models/test_label.py +0 -1
  85. thousandeyes_sdk/instant_tests/models/test_links.py +0 -1
  86. thousandeyes_sdk/instant_tests/models/test_page_loading_strategy.py +0 -1
  87. thousandeyes_sdk/instant_tests/models/test_path_trace_mode.py +0 -1
  88. thousandeyes_sdk/instant_tests/models/test_probe_mode.py +0 -1
  89. thousandeyes_sdk/instant_tests/models/test_protocol.py +0 -1
  90. thousandeyes_sdk/instant_tests/models/test_self_link.py +0 -1
  91. thousandeyes_sdk/instant_tests/models/test_sip_credentials.py +0 -1
  92. thousandeyes_sdk/instant_tests/models/test_ssl_version_id.py +0 -1
  93. thousandeyes_sdk/instant_tests/models/test_type.py +0 -1
  94. thousandeyes_sdk/instant_tests/models/unauthorized_error.py +0 -1
  95. thousandeyes_sdk/instant_tests/models/unexpanded_instant_test.py +0 -1
  96. thousandeyes_sdk/instant_tests/models/validation_error.py +0 -1
  97. thousandeyes_sdk/instant_tests/models/validation_error_item.py +0 -1
  98. thousandeyes_sdk/instant_tests/models/voice_instant_test.py +0 -1
  99. thousandeyes_sdk/instant_tests/models/voice_instant_test_request.py +0 -1
  100. thousandeyes_sdk/instant_tests/models/voice_properties.py +0 -1
  101. thousandeyes_sdk/instant_tests/models/web_transaction_instant_test.py +20 -3
  102. thousandeyes_sdk/instant_tests/models/web_transaction_instant_test_request.py +20 -3
  103. thousandeyes_sdk/instant_tests/models/web_transaction_properties.py +20 -3
  104. {thousandeyes_sdk_instant_tests-1.1.0.dist-info → thousandeyes_sdk_instant_tests-1.2.0.dist-info}/METADATA +5 -2
  105. thousandeyes_sdk_instant_tests-1.2.0.dist-info/RECORD +111 -0
  106. {thousandeyes_sdk_instant_tests-1.1.0.dist-info → thousandeyes_sdk_instant_tests-1.2.0.dist-info}/WHEEL +1 -1
  107. thousandeyes_sdk_instant_tests-1.1.0.dist-info/RECORD +0 -108
  108. {thousandeyes_sdk_instant_tests-1.1.0.dist-info → thousandeyes_sdk_instant_tests-1.2.0.dist-info}/LICENSE +0 -0
  109. {thousandeyes_sdk_instant_tests-1.1.0.dist-info → thousandeyes_sdk_instant_tests-1.2.0.dist-info}/NOTICE +0 -0
  110. {thousandeyes_sdk_instant_tests-1.1.0.dist-info → thousandeyes_sdk_instant_tests-1.2.0.dist-info}/top_level.txt +0 -0
@@ -5,7 +5,6 @@
5
5
 
6
6
  The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test.
7
7
 
8
- The version of the OpenAPI document: 7.0.9
9
8
  Generated by OpenAPI Generator (https://openapi-generator.tech)
10
9
 
11
10
  Do not edit the class manually.
@@ -5,7 +5,6 @@
5
5
 
6
6
  The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test.
7
7
 
8
- The version of the OpenAPI document: 7.0.9
9
8
  Generated by OpenAPI Generator (https://openapi-generator.tech)
10
9
 
11
10
  Do not edit the class manually.
@@ -5,7 +5,6 @@
5
5
 
6
6
  The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test.
7
7
 
8
- The version of the OpenAPI document: 7.0.9
9
8
  Generated by OpenAPI Generator (https://openapi-generator.tech)
10
9
 
11
10
  Do not edit the class manually.
@@ -17,9 +16,11 @@ import pprint
17
16
  import re # noqa: F401
18
17
  import json
19
18
 
20
- from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr
19
+ from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr
21
20
  from typing import Any, ClassVar, Dict, List, Optional
22
21
  from typing_extensions import Annotated
22
+ from thousandeyes_sdk.instant_tests.models.agent_interfaces import AgentInterfaces
23
+ from thousandeyes_sdk.instant_tests.models.o_auth import OAuth
23
24
  from thousandeyes_sdk.instant_tests.models.test_auth_type import TestAuthType
24
25
  from thousandeyes_sdk.instant_tests.models.test_custom_headers import TestCustomHeaders
25
26
  from thousandeyes_sdk.instant_tests.models.test_path_trace_mode import TestPathTraceMode
@@ -34,11 +35,14 @@ class HttpServerBaseProperties(BaseModel):
34
35
  HttpServerBaseProperties
35
36
  """ # noqa: E501
36
37
  auth_type: Optional[TestAuthType] = Field(default=None, alias="authType")
38
+ agent_interfaces: Optional[AgentInterfaces] = Field(default=None, alias="agentInterfaces")
37
39
  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")
38
40
  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")
39
41
  content_regex: Optional[StrictStr] = Field(default=None, description="Content regex, this field does not require escaping.", alias="contentRegex")
40
42
  custom_headers: Optional[TestCustomHeaders] = Field(default=None, alias="customHeaders")
41
43
  desired_status_code: Optional[StrictStr] = Field(default='200', description="Specify the HTTP status code value that indicates a successful response.", alias="desiredStatusCode")
44
+ download_limit: Optional[StrictInt] = Field(default=None, description="Specifies maximum number of bytes to download from the target object.", alias="downloadLimit")
45
+ dns_override: Optional[StrictStr] = Field(default=None, description="IP address to use for DNS override.", alias="dnsOverride")
42
46
  http_target_time: Optional[Annotated[int, Field(le=5000, strict=True, ge=100)]] = Field(default=None, description="Target time for HTTP server completion, specified in milliseconds.", alias="httpTargetTime")
43
47
  http_time_limit: Optional[Annotated[int, Field(le=60, strict=True, ge=5)]] = Field(default=5, description="HTTP time limit in seconds.", alias="httpTimeLimit")
44
48
  http_version: Optional[Annotated[int, Field(le=2, strict=True, ge=1)]] = Field(default=2, description="HTTP protocol version. Set to '2' to prefer HTTP/2, or '1' to use only HTTP/1.1.", alias="httpVersion")
@@ -46,6 +50,7 @@ class HttpServerBaseProperties(BaseModel):
46
50
  mtu_measurements: Optional[StrictBool] = Field(default=None, description="Set `true` to measure MTU sizes on network from agents to the target.", alias="mtuMeasurements")
47
51
  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")
48
52
  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")
53
+ o_auth: Optional[OAuth] = Field(default=None, alias="oAuth")
49
54
  password: Optional[StrictStr] = Field(default=None, description="Password for Basic/NTLM authentication.")
50
55
  path_trace_mode: Optional[TestPathTraceMode] = Field(default=None, alias="pathTraceMode")
51
56
  probe_mode: Optional[TestProbeMode] = Field(default=None, alias="probeMode")
@@ -62,7 +67,8 @@ class HttpServerBaseProperties(BaseModel):
62
67
  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")
63
68
  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")
64
69
  override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId")
65
- __properties: ClassVar[List[str]] = ["authType", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId"]
70
+ collect_proxy_network_data: Optional[StrictBool] = Field(default=False, description="Indicates whether network data to the proxy should be collected.", alias="collectProxyNetworkData")
71
+ __properties: ClassVar[List[str]] = ["authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData"]
66
72
 
67
73
  model_config = ConfigDict(
68
74
  populate_by_name=True,
@@ -106,9 +112,15 @@ class HttpServerBaseProperties(BaseModel):
106
112
  exclude=excluded_fields,
107
113
  exclude_none=True,
108
114
  )
115
+ # override the default output from pydantic by calling `to_dict()` of agent_interfaces
116
+ if self.agent_interfaces:
117
+ _dict['agentInterfaces'] = self.agent_interfaces.to_dict()
109
118
  # override the default output from pydantic by calling `to_dict()` of custom_headers
110
119
  if self.custom_headers:
111
120
  _dict['customHeaders'] = self.custom_headers.to_dict()
121
+ # override the default output from pydantic by calling `to_dict()` of o_auth
122
+ if self.o_auth:
123
+ _dict['oAuth'] = self.o_auth.to_dict()
112
124
  return _dict
113
125
 
114
126
  @classmethod
@@ -122,11 +134,14 @@ class HttpServerBaseProperties(BaseModel):
122
134
 
123
135
  _obj = cls.model_validate({
124
136
  "authType": obj.get("authType"),
137
+ "agentInterfaces": AgentInterfaces.from_dict(obj["agentInterfaces"]) if obj.get("agentInterfaces") is not None else None,
125
138
  "bandwidthMeasurements": obj.get("bandwidthMeasurements"),
126
139
  "clientCertificate": obj.get("clientCertificate"),
127
140
  "contentRegex": obj.get("contentRegex"),
128
141
  "customHeaders": TestCustomHeaders.from_dict(obj["customHeaders"]) if obj.get("customHeaders") is not None else None,
129
142
  "desiredStatusCode": obj.get("desiredStatusCode") if obj.get("desiredStatusCode") is not None else '200',
143
+ "downloadLimit": obj.get("downloadLimit"),
144
+ "dnsOverride": obj.get("dnsOverride"),
130
145
  "httpTargetTime": obj.get("httpTargetTime"),
131
146
  "httpTimeLimit": obj.get("httpTimeLimit") if obj.get("httpTimeLimit") is not None else 5,
132
147
  "httpVersion": obj.get("httpVersion") if obj.get("httpVersion") is not None else 2,
@@ -134,6 +149,7 @@ class HttpServerBaseProperties(BaseModel):
134
149
  "mtuMeasurements": obj.get("mtuMeasurements"),
135
150
  "networkMeasurements": obj.get("networkMeasurements") if obj.get("networkMeasurements") is not None else True,
136
151
  "numPathTraces": obj.get("numPathTraces") if obj.get("numPathTraces") is not None else 3,
152
+ "oAuth": OAuth.from_dict(obj["oAuth"]) if obj.get("oAuth") is not None else None,
137
153
  "password": obj.get("password"),
138
154
  "pathTraceMode": obj.get("pathTraceMode"),
139
155
  "probeMode": obj.get("probeMode"),
@@ -149,7 +165,8 @@ class HttpServerBaseProperties(BaseModel):
149
165
  "followRedirects": obj.get("followRedirects") if obj.get("followRedirects") is not None else True,
150
166
  "fixedPacketRate": obj.get("fixedPacketRate"),
151
167
  "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False,
152
- "overrideProxyId": obj.get("overrideProxyId")
168
+ "overrideProxyId": obj.get("overrideProxyId"),
169
+ "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False
153
170
  })
154
171
  return _obj
155
172
 
@@ -5,7 +5,6 @@
5
5
 
6
6
  The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test.
7
7
 
8
- The version of the OpenAPI document: 7.0.9
9
8
  Generated by OpenAPI Generator (https://openapi-generator.tech)
10
9
 
11
10
  Do not edit the class manually.
@@ -22,6 +21,8 @@ from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, Strict
22
21
  from typing import Any, ClassVar, Dict, List, Optional
23
22
  from typing_extensions import Annotated
24
23
  from thousandeyes_sdk.instant_tests.models.agent import Agent
24
+ from thousandeyes_sdk.instant_tests.models.agent_interfaces import AgentInterfaces
25
+ from thousandeyes_sdk.instant_tests.models.o_auth import OAuth
25
26
  from thousandeyes_sdk.instant_tests.models.shared_with_account import SharedWithAccount
26
27
  from thousandeyes_sdk.instant_tests.models.test_auth_type import TestAuthType
27
28
  from thousandeyes_sdk.instant_tests.models.test_custom_headers import TestCustomHeaders
@@ -53,11 +54,14 @@ class HttpServerInstantTest(BaseModel):
53
54
  labels: Optional[List[TestLabel]] = None
54
55
  shared_with_accounts: Optional[List[SharedWithAccount]] = Field(default=None, alias="sharedWithAccounts")
55
56
  auth_type: Optional[TestAuthType] = Field(default=None, alias="authType")
57
+ agent_interfaces: Optional[AgentInterfaces] = Field(default=None, alias="agentInterfaces")
56
58
  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")
57
59
  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")
58
60
  content_regex: Optional[StrictStr] = Field(default=None, description="Content regex, this field does not require escaping.", alias="contentRegex")
59
61
  custom_headers: Optional[TestCustomHeaders] = Field(default=None, alias="customHeaders")
60
62
  desired_status_code: Optional[StrictStr] = Field(default='200', description="Specify the HTTP status code value that indicates a successful response.", alias="desiredStatusCode")
63
+ download_limit: Optional[StrictInt] = Field(default=None, description="Specifies maximum number of bytes to download from the target object.", alias="downloadLimit")
64
+ dns_override: Optional[StrictStr] = Field(default=None, description="IP address to use for DNS override.", alias="dnsOverride")
61
65
  http_target_time: Optional[Annotated[int, Field(le=5000, strict=True, ge=100)]] = Field(default=None, description="Target time for HTTP server completion, specified in milliseconds.", alias="httpTargetTime")
62
66
  http_time_limit: Optional[Annotated[int, Field(le=60, strict=True, ge=5)]] = Field(default=5, description="HTTP time limit in seconds.", alias="httpTimeLimit")
63
67
  http_version: Optional[Annotated[int, Field(le=2, strict=True, ge=1)]] = Field(default=2, description="HTTP protocol version. Set to '2' to prefer HTTP/2, or '1' to use only HTTP/1.1.", alias="httpVersion")
@@ -65,6 +69,7 @@ class HttpServerInstantTest(BaseModel):
65
69
  mtu_measurements: Optional[StrictBool] = Field(default=None, description="Set `true` to measure MTU sizes on network from agents to the target.", alias="mtuMeasurements")
66
70
  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")
67
71
  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")
72
+ o_auth: Optional[OAuth] = Field(default=None, alias="oAuth")
68
73
  password: Optional[StrictStr] = Field(default=None, description="Password for Basic/NTLM authentication.")
69
74
  path_trace_mode: Optional[TestPathTraceMode] = Field(default=None, alias="pathTraceMode")
70
75
  probe_mode: Optional[TestProbeMode] = Field(default=None, alias="probeMode")
@@ -81,13 +86,12 @@ class HttpServerInstantTest(BaseModel):
81
86
  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")
82
87
  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")
83
88
  override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId")
89
+ collect_proxy_network_data: Optional[StrictBool] = Field(default=False, description="Indicates whether network data to the proxy should be collected.", alias="collectProxyNetworkData")
84
90
  headers: Optional[List[StrictStr]] = Field(default=None, description="HTTP request headers used.")
85
- download_limit: Optional[StrictInt] = Field(default=None, description="Specifies maximum number of bytes to download from the target object.", alias="downloadLimit")
86
- dns_override: Optional[StrictStr] = Field(default=None, description="IP address to use for DNS override.", alias="dnsOverride")
87
91
  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")
88
92
  ipv6_policy: Optional[TestIpv6Policy] = Field(default=None, alias="ipv6Policy")
89
93
  agents: Optional[List[Agent]] = Field(default=None, description="Contains list of agents.")
90
- __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "authType", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "headers", "downloadLimit", "dnsOverride", "postBody", "ipv6Policy", "agents"]
94
+ __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "headers", "postBody", "ipv6Policy", "agents"]
91
95
 
92
96
  model_config = ConfigDict(
93
97
  populate_by_name=True,
@@ -170,9 +174,15 @@ class HttpServerInstantTest(BaseModel):
170
174
  if _item:
171
175
  _items.append(_item.to_dict())
172
176
  _dict['sharedWithAccounts'] = _items
177
+ # override the default output from pydantic by calling `to_dict()` of agent_interfaces
178
+ if self.agent_interfaces:
179
+ _dict['agentInterfaces'] = self.agent_interfaces.to_dict()
173
180
  # override the default output from pydantic by calling `to_dict()` of custom_headers
174
181
  if self.custom_headers:
175
182
  _dict['customHeaders'] = self.custom_headers.to_dict()
183
+ # override the default output from pydantic by calling `to_dict()` of o_auth
184
+ if self.o_auth:
185
+ _dict['oAuth'] = self.o_auth.to_dict()
176
186
  # override the default output from pydantic by calling `to_dict()` of each item in agents (list)
177
187
  _items = []
178
188
  if self.agents:
@@ -206,11 +216,14 @@ class HttpServerInstantTest(BaseModel):
206
216
  "labels": [TestLabel.from_dict(_item) for _item in obj["labels"]] if obj.get("labels") is not None else None,
207
217
  "sharedWithAccounts": [SharedWithAccount.from_dict(_item) for _item in obj["sharedWithAccounts"]] if obj.get("sharedWithAccounts") is not None else None,
208
218
  "authType": obj.get("authType"),
219
+ "agentInterfaces": AgentInterfaces.from_dict(obj["agentInterfaces"]) if obj.get("agentInterfaces") is not None else None,
209
220
  "bandwidthMeasurements": obj.get("bandwidthMeasurements"),
210
221
  "clientCertificate": obj.get("clientCertificate"),
211
222
  "contentRegex": obj.get("contentRegex"),
212
223
  "customHeaders": TestCustomHeaders.from_dict(obj["customHeaders"]) if obj.get("customHeaders") is not None else None,
213
224
  "desiredStatusCode": obj.get("desiredStatusCode") if obj.get("desiredStatusCode") is not None else '200',
225
+ "downloadLimit": obj.get("downloadLimit"),
226
+ "dnsOverride": obj.get("dnsOverride"),
214
227
  "httpTargetTime": obj.get("httpTargetTime"),
215
228
  "httpTimeLimit": obj.get("httpTimeLimit") if obj.get("httpTimeLimit") is not None else 5,
216
229
  "httpVersion": obj.get("httpVersion") if obj.get("httpVersion") is not None else 2,
@@ -218,6 +231,7 @@ class HttpServerInstantTest(BaseModel):
218
231
  "mtuMeasurements": obj.get("mtuMeasurements"),
219
232
  "networkMeasurements": obj.get("networkMeasurements") if obj.get("networkMeasurements") is not None else True,
220
233
  "numPathTraces": obj.get("numPathTraces") if obj.get("numPathTraces") is not None else 3,
234
+ "oAuth": OAuth.from_dict(obj["oAuth"]) if obj.get("oAuth") is not None else None,
221
235
  "password": obj.get("password"),
222
236
  "pathTraceMode": obj.get("pathTraceMode"),
223
237
  "probeMode": obj.get("probeMode"),
@@ -234,9 +248,8 @@ class HttpServerInstantTest(BaseModel):
234
248
  "fixedPacketRate": obj.get("fixedPacketRate"),
235
249
  "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False,
236
250
  "overrideProxyId": obj.get("overrideProxyId"),
251
+ "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False,
237
252
  "headers": obj.get("headers"),
238
- "downloadLimit": obj.get("downloadLimit"),
239
- "dnsOverride": obj.get("dnsOverride"),
240
253
  "postBody": obj.get("postBody"),
241
254
  "ipv6Policy": obj.get("ipv6Policy"),
242
255
  "agents": [Agent.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None
@@ -5,7 +5,6 @@
5
5
 
6
6
  The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test.
7
7
 
8
- The version of the OpenAPI document: 7.0.9
9
8
  Generated by OpenAPI Generator (https://openapi-generator.tech)
10
9
 
11
10
  Do not edit the class manually.
@@ -21,6 +20,8 @@ from datetime import datetime
21
20
  from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr
22
21
  from typing import Any, ClassVar, Dict, List, Optional
23
22
  from typing_extensions import Annotated
23
+ from thousandeyes_sdk.instant_tests.models.agent_interfaces import AgentInterfaces
24
+ from thousandeyes_sdk.instant_tests.models.o_auth import OAuth
24
25
  from thousandeyes_sdk.instant_tests.models.test_agent import TestAgent
25
26
  from thousandeyes_sdk.instant_tests.models.test_auth_type import TestAuthType
26
27
  from thousandeyes_sdk.instant_tests.models.test_custom_headers import TestCustomHeaders
@@ -51,11 +52,14 @@ class HttpServerInstantTestRequest(BaseModel):
51
52
  labels: Optional[List[StrictStr]] = Field(default=None, description="A list of test label identifiers (get `labelId` from `/labels` endpoint).")
52
53
  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")
53
54
  auth_type: Optional[TestAuthType] = Field(default=None, alias="authType")
55
+ agent_interfaces: Optional[AgentInterfaces] = Field(default=None, alias="agentInterfaces")
54
56
  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")
55
57
  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")
56
58
  content_regex: Optional[StrictStr] = Field(default=None, description="Content regex, this field does not require escaping.", alias="contentRegex")
57
59
  custom_headers: Optional[TestCustomHeaders] = Field(default=None, alias="customHeaders")
58
60
  desired_status_code: Optional[StrictStr] = Field(default='200', description="Specify the HTTP status code value that indicates a successful response.", alias="desiredStatusCode")
61
+ download_limit: Optional[StrictInt] = Field(default=None, description="Specifies maximum number of bytes to download from the target object.", alias="downloadLimit")
62
+ dns_override: Optional[StrictStr] = Field(default=None, description="IP address to use for DNS override.", alias="dnsOverride")
59
63
  http_target_time: Optional[Annotated[int, Field(le=5000, strict=True, ge=100)]] = Field(default=None, description="Target time for HTTP server completion, specified in milliseconds.", alias="httpTargetTime")
60
64
  http_time_limit: Optional[Annotated[int, Field(le=60, strict=True, ge=5)]] = Field(default=5, description="HTTP time limit in seconds.", alias="httpTimeLimit")
61
65
  http_version: Optional[Annotated[int, Field(le=2, strict=True, ge=1)]] = Field(default=2, description="HTTP protocol version. Set to '2' to prefer HTTP/2, or '1' to use only HTTP/1.1.", alias="httpVersion")
@@ -63,6 +67,7 @@ class HttpServerInstantTestRequest(BaseModel):
63
67
  mtu_measurements: Optional[StrictBool] = Field(default=None, description="Set `true` to measure MTU sizes on network from agents to the target.", alias="mtuMeasurements")
64
68
  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")
65
69
  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")
70
+ o_auth: Optional[OAuth] = Field(default=None, alias="oAuth")
66
71
  password: Optional[StrictStr] = Field(default=None, description="Password for Basic/NTLM authentication.")
67
72
  path_trace_mode: Optional[TestPathTraceMode] = Field(default=None, alias="pathTraceMode")
68
73
  probe_mode: Optional[TestProbeMode] = Field(default=None, alias="probeMode")
@@ -79,13 +84,12 @@ class HttpServerInstantTestRequest(BaseModel):
79
84
  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")
80
85
  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")
81
86
  override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId")
87
+ collect_proxy_network_data: Optional[StrictBool] = Field(default=False, description="Indicates whether network data to the proxy should be collected.", alias="collectProxyNetworkData")
82
88
  headers: Optional[List[StrictStr]] = Field(default=None, description="HTTP request headers used.")
83
- download_limit: Optional[StrictInt] = Field(default=None, description="Specifies maximum number of bytes to download from the target object.", alias="downloadLimit")
84
- dns_override: Optional[StrictStr] = Field(default=None, description="IP address to use for DNS override.", alias="dnsOverride")
85
89
  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")
86
90
  ipv6_policy: Optional[TestIpv6Policy] = Field(default=None, alias="ipv6Policy")
87
91
  agents: List[TestAgent] = Field(description="A list of objects with `agentId` (required) and `sourceIpAddress` (optional).")
88
- __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "authType", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "headers", "downloadLimit", "dnsOverride", "postBody", "ipv6Policy", "agents"]
92
+ __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "headers", "postBody", "ipv6Policy", "agents"]
89
93
 
90
94
  model_config = ConfigDict(
91
95
  populate_by_name=True,
@@ -148,9 +152,15 @@ class HttpServerInstantTestRequest(BaseModel):
148
152
  # override the default output from pydantic by calling `to_dict()` of links
149
153
  if self.links:
150
154
  _dict['_links'] = self.links.to_dict()
155
+ # override the default output from pydantic by calling `to_dict()` of agent_interfaces
156
+ if self.agent_interfaces:
157
+ _dict['agentInterfaces'] = self.agent_interfaces.to_dict()
151
158
  # override the default output from pydantic by calling `to_dict()` of custom_headers
152
159
  if self.custom_headers:
153
160
  _dict['customHeaders'] = self.custom_headers.to_dict()
161
+ # override the default output from pydantic by calling `to_dict()` of o_auth
162
+ if self.o_auth:
163
+ _dict['oAuth'] = self.o_auth.to_dict()
154
164
  # override the default output from pydantic by calling `to_dict()` of each item in agents (list)
155
165
  _items = []
156
166
  if self.agents:
@@ -184,11 +194,14 @@ class HttpServerInstantTestRequest(BaseModel):
184
194
  "labels": obj.get("labels"),
185
195
  "sharedWithAccounts": obj.get("sharedWithAccounts"),
186
196
  "authType": obj.get("authType"),
197
+ "agentInterfaces": AgentInterfaces.from_dict(obj["agentInterfaces"]) if obj.get("agentInterfaces") is not None else None,
187
198
  "bandwidthMeasurements": obj.get("bandwidthMeasurements"),
188
199
  "clientCertificate": obj.get("clientCertificate"),
189
200
  "contentRegex": obj.get("contentRegex"),
190
201
  "customHeaders": TestCustomHeaders.from_dict(obj["customHeaders"]) if obj.get("customHeaders") is not None else None,
191
202
  "desiredStatusCode": obj.get("desiredStatusCode") if obj.get("desiredStatusCode") is not None else '200',
203
+ "downloadLimit": obj.get("downloadLimit"),
204
+ "dnsOverride": obj.get("dnsOverride"),
192
205
  "httpTargetTime": obj.get("httpTargetTime"),
193
206
  "httpTimeLimit": obj.get("httpTimeLimit") if obj.get("httpTimeLimit") is not None else 5,
194
207
  "httpVersion": obj.get("httpVersion") if obj.get("httpVersion") is not None else 2,
@@ -196,6 +209,7 @@ class HttpServerInstantTestRequest(BaseModel):
196
209
  "mtuMeasurements": obj.get("mtuMeasurements"),
197
210
  "networkMeasurements": obj.get("networkMeasurements") if obj.get("networkMeasurements") is not None else True,
198
211
  "numPathTraces": obj.get("numPathTraces") if obj.get("numPathTraces") is not None else 3,
212
+ "oAuth": OAuth.from_dict(obj["oAuth"]) if obj.get("oAuth") is not None else None,
199
213
  "password": obj.get("password"),
200
214
  "pathTraceMode": obj.get("pathTraceMode"),
201
215
  "probeMode": obj.get("probeMode"),
@@ -212,9 +226,8 @@ class HttpServerInstantTestRequest(BaseModel):
212
226
  "fixedPacketRate": obj.get("fixedPacketRate"),
213
227
  "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False,
214
228
  "overrideProxyId": obj.get("overrideProxyId"),
229
+ "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False,
215
230
  "headers": obj.get("headers"),
216
- "downloadLimit": obj.get("downloadLimit"),
217
- "dnsOverride": obj.get("dnsOverride"),
218
231
  "postBody": obj.get("postBody"),
219
232
  "ipv6Policy": obj.get("ipv6Policy"),
220
233
  "agents": [TestAgent.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None
@@ -5,7 +5,6 @@
5
5
 
6
6
  The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test.
7
7
 
8
- The version of the OpenAPI document: 7.0.9
9
8
  Generated by OpenAPI Generator (https://openapi-generator.tech)
10
9
 
11
10
  Do not edit the class manually.
@@ -20,6 +19,8 @@ import json
20
19
  from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr
21
20
  from typing import Any, ClassVar, Dict, List, Optional
22
21
  from typing_extensions import Annotated
22
+ from thousandeyes_sdk.instant_tests.models.agent_interfaces import AgentInterfaces
23
+ from thousandeyes_sdk.instant_tests.models.o_auth import OAuth
23
24
  from thousandeyes_sdk.instant_tests.models.test_auth_type import TestAuthType
24
25
  from thousandeyes_sdk.instant_tests.models.test_custom_headers import TestCustomHeaders
25
26
  from thousandeyes_sdk.instant_tests.models.test_ipv6_policy import TestIpv6Policy
@@ -35,11 +36,14 @@ class HttpServerProperties(BaseModel):
35
36
  HttpServerProperties
36
37
  """ # noqa: E501
37
38
  auth_type: Optional[TestAuthType] = Field(default=None, alias="authType")
39
+ agent_interfaces: Optional[AgentInterfaces] = Field(default=None, alias="agentInterfaces")
38
40
  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")
39
41
  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")
40
42
  content_regex: Optional[StrictStr] = Field(default=None, description="Content regex, this field does not require escaping.", alias="contentRegex")
41
43
  custom_headers: Optional[TestCustomHeaders] = Field(default=None, alias="customHeaders")
42
44
  desired_status_code: Optional[StrictStr] = Field(default='200', description="Specify the HTTP status code value that indicates a successful response.", alias="desiredStatusCode")
45
+ download_limit: Optional[StrictInt] = Field(default=None, description="Specifies maximum number of bytes to download from the target object.", alias="downloadLimit")
46
+ dns_override: Optional[StrictStr] = Field(default=None, description="IP address to use for DNS override.", alias="dnsOverride")
43
47
  http_target_time: Optional[Annotated[int, Field(le=5000, strict=True, ge=100)]] = Field(default=None, description="Target time for HTTP server completion, specified in milliseconds.", alias="httpTargetTime")
44
48
  http_time_limit: Optional[Annotated[int, Field(le=60, strict=True, ge=5)]] = Field(default=5, description="HTTP time limit in seconds.", alias="httpTimeLimit")
45
49
  http_version: Optional[Annotated[int, Field(le=2, strict=True, ge=1)]] = Field(default=2, description="HTTP protocol version. Set to '2' to prefer HTTP/2, or '1' to use only HTTP/1.1.", alias="httpVersion")
@@ -47,6 +51,7 @@ class HttpServerProperties(BaseModel):
47
51
  mtu_measurements: Optional[StrictBool] = Field(default=None, description="Set `true` to measure MTU sizes on network from agents to the target.", alias="mtuMeasurements")
48
52
  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")
49
53
  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")
54
+ o_auth: Optional[OAuth] = Field(default=None, alias="oAuth")
50
55
  password: Optional[StrictStr] = Field(default=None, description="Password for Basic/NTLM authentication.")
51
56
  path_trace_mode: Optional[TestPathTraceMode] = Field(default=None, alias="pathTraceMode")
52
57
  probe_mode: Optional[TestProbeMode] = Field(default=None, alias="probeMode")
@@ -63,13 +68,12 @@ class HttpServerProperties(BaseModel):
63
68
  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")
64
69
  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")
65
70
  override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId")
71
+ collect_proxy_network_data: Optional[StrictBool] = Field(default=False, description="Indicates whether network data to the proxy should be collected.", alias="collectProxyNetworkData")
66
72
  headers: Optional[List[StrictStr]] = Field(default=None, description="HTTP request headers used.")
67
- download_limit: Optional[StrictInt] = Field(default=None, description="Specifies maximum number of bytes to download from the target object.", alias="downloadLimit")
68
- dns_override: Optional[StrictStr] = Field(default=None, description="IP address to use for DNS override.", alias="dnsOverride")
69
73
  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")
70
74
  ipv6_policy: Optional[TestIpv6Policy] = Field(default=None, alias="ipv6Policy")
71
75
  type: Optional[StrictStr] = None
72
- __properties: ClassVar[List[str]] = ["authType", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "headers", "downloadLimit", "dnsOverride", "postBody", "ipv6Policy", "type"]
76
+ __properties: ClassVar[List[str]] = ["authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "headers", "postBody", "ipv6Policy", "type"]
73
77
 
74
78
  model_config = ConfigDict(
75
79
  populate_by_name=True,
@@ -115,9 +119,15 @@ class HttpServerProperties(BaseModel):
115
119
  exclude=excluded_fields,
116
120
  exclude_none=True,
117
121
  )
122
+ # override the default output from pydantic by calling `to_dict()` of agent_interfaces
123
+ if self.agent_interfaces:
124
+ _dict['agentInterfaces'] = self.agent_interfaces.to_dict()
118
125
  # override the default output from pydantic by calling `to_dict()` of custom_headers
119
126
  if self.custom_headers:
120
127
  _dict['customHeaders'] = self.custom_headers.to_dict()
128
+ # override the default output from pydantic by calling `to_dict()` of o_auth
129
+ if self.o_auth:
130
+ _dict['oAuth'] = self.o_auth.to_dict()
121
131
  return _dict
122
132
 
123
133
  @classmethod
@@ -131,11 +141,14 @@ class HttpServerProperties(BaseModel):
131
141
 
132
142
  _obj = cls.model_validate({
133
143
  "authType": obj.get("authType"),
144
+ "agentInterfaces": AgentInterfaces.from_dict(obj["agentInterfaces"]) if obj.get("agentInterfaces") is not None else None,
134
145
  "bandwidthMeasurements": obj.get("bandwidthMeasurements"),
135
146
  "clientCertificate": obj.get("clientCertificate"),
136
147
  "contentRegex": obj.get("contentRegex"),
137
148
  "customHeaders": TestCustomHeaders.from_dict(obj["customHeaders"]) if obj.get("customHeaders") is not None else None,
138
149
  "desiredStatusCode": obj.get("desiredStatusCode") if obj.get("desiredStatusCode") is not None else '200',
150
+ "downloadLimit": obj.get("downloadLimit"),
151
+ "dnsOverride": obj.get("dnsOverride"),
139
152
  "httpTargetTime": obj.get("httpTargetTime"),
140
153
  "httpTimeLimit": obj.get("httpTimeLimit") if obj.get("httpTimeLimit") is not None else 5,
141
154
  "httpVersion": obj.get("httpVersion") if obj.get("httpVersion") is not None else 2,
@@ -143,6 +156,7 @@ class HttpServerProperties(BaseModel):
143
156
  "mtuMeasurements": obj.get("mtuMeasurements"),
144
157
  "networkMeasurements": obj.get("networkMeasurements") if obj.get("networkMeasurements") is not None else True,
145
158
  "numPathTraces": obj.get("numPathTraces") if obj.get("numPathTraces") is not None else 3,
159
+ "oAuth": OAuth.from_dict(obj["oAuth"]) if obj.get("oAuth") is not None else None,
146
160
  "password": obj.get("password"),
147
161
  "pathTraceMode": obj.get("pathTraceMode"),
148
162
  "probeMode": obj.get("probeMode"),
@@ -159,9 +173,8 @@ class HttpServerProperties(BaseModel):
159
173
  "fixedPacketRate": obj.get("fixedPacketRate"),
160
174
  "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False,
161
175
  "overrideProxyId": obj.get("overrideProxyId"),
176
+ "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False,
162
177
  "headers": obj.get("headers"),
163
- "downloadLimit": obj.get("downloadLimit"),
164
- "dnsOverride": obj.get("dnsOverride"),
165
178
  "postBody": obj.get("postBody"),
166
179
  "ipv6Policy": obj.get("ipv6Policy"),
167
180
  "type": obj.get("type")
@@ -5,7 +5,6 @@
5
5
 
6
6
  The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test.
7
7
 
8
- The version of the OpenAPI document: 7.0.9
9
8
  Generated by OpenAPI Generator (https://openapi-generator.tech)
10
9
 
11
10
  Do not edit the class manually.
@@ -5,7 +5,6 @@
5
5
 
6
6
  The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test.
7
7
 
8
- The version of the OpenAPI document: 7.0.9
9
8
  Generated by OpenAPI Generator (https://openapi-generator.tech)
10
9
 
11
10
  Do not edit the class manually.
@@ -5,7 +5,6 @@
5
5
 
6
6
  The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test.
7
7
 
8
- The version of the OpenAPI document: 7.0.9
9
8
  Generated by OpenAPI Generator (https://openapi-generator.tech)
10
9
 
11
10
  Do not edit the class manually.
@@ -0,0 +1,103 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Instant Tests API
5
+
6
+ The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test.
7
+
8
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
9
+
10
+ Do not edit the class manually.
11
+ """ # noqa: E501
12
+
13
+
14
+ from __future__ import annotations
15
+ import pprint
16
+ import re # noqa: F401
17
+ import json
18
+
19
+ from pydantic import BaseModel, ConfigDict, Field, StrictStr
20
+ from typing import Any, ClassVar, Dict, List, Optional
21
+ from thousandeyes_sdk.instant_tests.models.request_method import RequestMethod
22
+ from thousandeyes_sdk.instant_tests.models.test_auth_type import TestAuthType
23
+ from typing import Optional, Set
24
+ from typing_extensions import Self
25
+
26
+ class OAuth(BaseModel):
27
+ """
28
+ Use this only if you want to use OAuth as the authentication mechanism.
29
+ """ # noqa: E501
30
+ config_id: Optional[StrictStr] = Field(default=None, description="The ID of the OAuth configuration.", alias="configId")
31
+ test_url: Optional[StrictStr] = Field(default=None, description="Target for the test.", alias="testUrl")
32
+ request_method: Optional[RequestMethod] = Field(default=None, alias="requestMethod")
33
+ post_body: Optional[StrictStr] = Field(default=None, description="Enter the OAuth body for the HTTP POST request in this field when using OAuth as the authentication mechanism. No special escaping is required. If content is provided in the post body, the `requestMethod` is automatically set to POST.", alias="postBody")
34
+ headers: Optional[StrictStr] = Field(default=None, description="Request headers used for OAuth.")
35
+ auth_type: Optional[TestAuthType] = Field(default=None, alias="authType")
36
+ username: Optional[StrictStr] = Field(default=None, description="OAuth username")
37
+ password: Optional[StrictStr] = Field(default=None, description="OAuth password")
38
+ __properties: ClassVar[List[str]] = ["configId", "testUrl", "requestMethod", "postBody", "headers", "authType", "username", "password"]
39
+
40
+ model_config = ConfigDict(
41
+ populate_by_name=True,
42
+ validate_assignment=True,
43
+ protected_namespaces=(),
44
+ extra="allow",
45
+ )
46
+
47
+
48
+ def to_str(self) -> str:
49
+ """Returns the string representation of the model using alias"""
50
+ return pprint.pformat(self.model_dump(by_alias=True))
51
+
52
+ def to_json(self) -> str:
53
+ """Returns the JSON representation of the model using alias"""
54
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
55
+ return self.model_dump_json(by_alias=True, exclude_unset=True, exclude_none=True)
56
+
57
+ @classmethod
58
+ def from_json(cls, json_str: str) -> Optional[Self]:
59
+ """Create an instance of OAuth from a JSON string"""
60
+ return cls.from_dict(json.loads(json_str))
61
+
62
+ def to_dict(self) -> Dict[str, Any]:
63
+ """Return the dictionary representation of the model using alias.
64
+
65
+ This has the following differences from calling pydantic's
66
+ `self.model_dump(by_alias=True)`:
67
+
68
+ * `None` is only added to the output dict for nullable fields that
69
+ were set at model initialization. Other fields with value `None`
70
+ are ignored.
71
+ """
72
+ excluded_fields: Set[str] = set([
73
+ ])
74
+
75
+ _dict = self.model_dump(
76
+ by_alias=True,
77
+ exclude=excluded_fields,
78
+ exclude_none=True,
79
+ )
80
+ return _dict
81
+
82
+ @classmethod
83
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
84
+ """Create an instance of OAuth from a dict"""
85
+ if obj is None:
86
+ return None
87
+
88
+ if not isinstance(obj, dict):
89
+ return cls.model_validate(obj)
90
+
91
+ _obj = cls.model_validate({
92
+ "configId": obj.get("configId"),
93
+ "testUrl": obj.get("testUrl"),
94
+ "requestMethod": obj.get("requestMethod"),
95
+ "postBody": obj.get("postBody"),
96
+ "headers": obj.get("headers"),
97
+ "authType": obj.get("authType"),
98
+ "username": obj.get("username"),
99
+ "password": obj.get("password")
100
+ })
101
+ return _obj
102
+
103
+