instana-client 1.0.0__py3-none-any.whl → 1.0.3__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 (604) hide show
  1. instana_client/__init__.py +91 -9
  2. instana_client/api/__init__.py +8 -0
  3. instana_client/api/action_catalog_api.py +329 -6
  4. instana_client/api/action_history_api.py +54 -2
  5. instana_client/api/ai_management_api.py +1973 -0
  6. instana_client/api/apdex_report_api.py +2 -2
  7. instana_client/api/apdex_settings_api.py +8 -9
  8. instana_client/api/api_token_api.py +23 -24
  9. instana_client/api/application_alert_configuration_api.py +79 -66
  10. instana_client/api/application_analyze_api.py +20 -282
  11. instana_client/api/application_catalog_api.py +11 -11
  12. instana_client/api/application_metrics_api.py +14 -14
  13. instana_client/api/application_resources_api.py +171 -44
  14. instana_client/api/application_settings_api.py +134 -104
  15. instana_client/api/application_topology_api.py +11 -2
  16. instana_client/api/audit_log_api.py +2 -2
  17. instana_client/api/authentication_api.py +14 -30
  18. instana_client/api/business_monitoring_api.py +2 -2
  19. instana_client/api/custom_dashboards_api.py +29 -19
  20. instana_client/api/custom_entities_api.py +1398 -0
  21. instana_client/api/end_user_monitoring_api.py +310 -0
  22. instana_client/api/event_settings_api.py +1365 -658
  23. instana_client/api/events_api.py +11 -26
  24. instana_client/api/global_application_alert_configuration_api.py +53 -56
  25. instana_client/api/groups_api.py +888 -87
  26. instana_client/api/health_api.py +8 -5
  27. instana_client/api/host_agent_api.py +274 -8
  28. instana_client/api/infrastructure_alert_configuration_api.py +50 -30
  29. instana_client/api/infrastructure_analyze_api.py +14 -14
  30. instana_client/api/infrastructure_catalog_api.py +44 -13
  31. instana_client/api/infrastructure_metrics_api.py +5 -5
  32. instana_client/api/infrastructure_resources_api.py +11 -11
  33. instana_client/api/infrastructure_topology_api.py +2 -2
  34. instana_client/api/log_alert_configuration_api.py +50 -30
  35. instana_client/api/logging_analyze_api.py +343 -0
  36. instana_client/api/maintenance_configuration_api.py +32 -20
  37. instana_client/api/mobile_app_analyze_api.py +2 -2
  38. instana_client/api/mobile_app_catalog_api.py +8 -2
  39. instana_client/api/mobile_app_configuration_api.py +3058 -334
  40. instana_client/api/mobile_app_metrics_api.py +3 -6
  41. instana_client/api/policies_api.py +14 -11
  42. instana_client/api/releases_api.py +8 -11
  43. instana_client/api/roles_api.py +1410 -0
  44. instana_client/api/service_levels_alert_configuration_api.py +2 -2
  45. instana_client/api/service_levels_objective_slo_configurations_api.py +211 -87
  46. instana_client/api/service_levels_objective_slo_report_api.py +38 -2
  47. instana_client/api/session_settings_api.py +2 -2
  48. instana_client/api/sli_report_api.py +2 -2
  49. instana_client/api/sli_settings_api.py +5 -8
  50. instana_client/api/slo_correction_configurations_api.py +1537 -0
  51. instana_client/api/slo_correction_windows_api.py +392 -0
  52. instana_client/api/synthetic_alert_configuration_api.py +53 -56
  53. instana_client/api/synthetic_calls_api.py +20 -9
  54. instana_client/api/synthetic_catalog_api.py +20 -2
  55. instana_client/api/synthetic_metrics_api.py +5 -5
  56. instana_client/api/synthetic_settings_api.py +1915 -477
  57. instana_client/api/synthetic_test_playback_results_api.py +307 -20
  58. instana_client/api/teams_api.py +1380 -0
  59. instana_client/api/usage_api.py +2 -2
  60. instana_client/api/user_api.py +41 -28
  61. instana_client/api/website_analyze_api.py +8 -8
  62. instana_client/api/website_catalog_api.py +11 -8
  63. instana_client/api/website_configuration_api.py +1801 -336
  64. instana_client/api/website_metrics_api.py +3 -3
  65. instana_client/api_client.py +3 -3
  66. instana_client/configuration.py +14 -7
  67. instana_client/exceptions.py +2 -2
  68. instana_client/models/__init__.py +626 -11
  69. instana_client/models/abstract_integration.py +11 -5
  70. instana_client/models/abstract_rule.py +2 -2
  71. instana_client/models/access_log_entry.py +12 -7
  72. instana_client/models/access_log_response.py +2 -2
  73. instana_client/models/access_rule.py +2 -2
  74. instana_client/models/action.py +2 -2
  75. instana_client/models/action_configuration.py +2 -2
  76. instana_client/models/action_instance.py +2 -2
  77. instana_client/models/action_instance_metadata_entry.py +2 -2
  78. instana_client/models/action_instance_parameter.py +2 -2
  79. instana_client/models/action_instance_request.py +2 -2
  80. instana_client/models/action_instance_request_parameters.py +2 -2
  81. instana_client/models/action_match.py +19 -6
  82. instana_client/models/action_search_space.py +2 -2
  83. instana_client/models/adaptive_baseline.py +3 -3
  84. instana_client/models/adaptive_threshold_rule.py +3 -3
  85. instana_client/models/addition.py +97 -0
  86. instana_client/models/adjusted_timeframe.py +2 -2
  87. instana_client/models/agent_configuration_update.py +2 -2
  88. instana_client/models/alerting_configuration.py +2 -2
  89. instana_client/models/alerting_configuration_with_last_updated.py +2 -2
  90. instana_client/models/alerting_time_window.py +2 -2
  91. instana_client/models/apdex_configuration.py +2 -2
  92. instana_client/models/apdex_configuration_input.py +2 -2
  93. instana_client/models/apdex_entity.py +2 -2
  94. instana_client/models/apdex_report.py +2 -2
  95. instana_client/models/api_create_group.py +2 -2
  96. instana_client/models/api_create_role.py +101 -0
  97. instana_client/models/api_group.py +2 -2
  98. instana_client/models/api_member.py +5 -3
  99. instana_client/models/api_permission_set.py +12 -3
  100. instana_client/models/api_restricted_application_filter.py +2 -2
  101. instana_client/models/api_role.py +102 -0
  102. instana_client/models/api_tag.py +91 -0
  103. instana_client/models/api_team.py +113 -0
  104. instana_client/models/api_team_info.py +89 -0
  105. instana_client/models/api_team_member.py +102 -0
  106. instana_client/models/api_team_role.py +92 -0
  107. instana_client/models/api_team_scope.py +131 -0
  108. instana_client/models/api_token.py +35 -5
  109. instana_client/models/app_data_metric_configuration.py +2 -2
  110. instana_client/models/application.py +2 -2
  111. instana_client/models/application_alert_config.py +2 -2
  112. instana_client/models/application_alert_config_with_metadata.py +2 -2
  113. instana_client/models/application_alert_rule.py +2 -2
  114. instana_client/models/application_apdex_entity.py +2 -2
  115. instana_client/models/application_config.py +2 -2
  116. instana_client/models/application_event_result.py +6 -7
  117. instana_client/models/application_item.py +2 -2
  118. instana_client/models/application_metric_result.py +2 -2
  119. instana_client/models/application_node.py +2 -2
  120. instana_client/models/application_result.py +2 -2
  121. instana_client/models/application_scope.py +4 -4
  122. instana_client/models/application_scope_with_metadata.py +6 -6
  123. instana_client/models/application_sli_entity.py +2 -2
  124. instana_client/models/application_slo_entity.py +2 -2
  125. instana_client/models/application_time_threshold.py +2 -2
  126. instana_client/models/arithmetic_configuration.py +123 -0
  127. instana_client/models/arithmetic_operand.py +154 -0
  128. instana_client/models/arithmetic_operation.py +128 -0
  129. instana_client/models/audit_log_entry.py +2 -2
  130. instana_client/models/audit_log_ui_response.py +2 -2
  131. instana_client/models/author.py +2 -2
  132. instana_client/models/availability_blueprint_indicator.py +5 -16
  133. instana_client/models/availability_sli_entity.py +2 -2
  134. instana_client/models/available_metrics.py +2 -2
  135. instana_client/models/available_plugins.py +2 -2
  136. instana_client/models/backend_trace_reference.py +2 -2
  137. instana_client/models/bidirectional_ms_teams_app_integration.py +108 -0
  138. instana_client/models/bidirectional_slack_app_integration.py +104 -0
  139. instana_client/models/binary_operator_dto.py +2 -2
  140. instana_client/models/browser_script_configuration.py +5 -3
  141. instana_client/models/browser_script_configuration_update.py +129 -0
  142. instana_client/models/built_in_event_specification.py +2 -2
  143. instana_client/models/built_in_event_specification_with_last_updated.py +2 -2
  144. instana_client/models/business_activity.py +5 -3
  145. instana_client/models/business_perspective_config.py +2 -2
  146. instana_client/models/call_groups_item.py +2 -2
  147. instana_client/models/call_groups_result.py +2 -2
  148. instana_client/models/call_relation.py +2 -2
  149. instana_client/models/change_summary.py +2 -2
  150. instana_client/models/cloudfoundry_physical_context.py +4 -4
  151. instana_client/models/condition.py +2 -2
  152. instana_client/models/config_version.py +2 -2
  153. instana_client/models/correction.py +105 -0
  154. instana_client/models/correction_configuration.py +110 -0
  155. instana_client/models/correction_scheduling.py +105 -0
  156. instana_client/models/correction_window.py +95 -0
  157. instana_client/models/crash_mobile_app_alert_rule.py +2 -2
  158. instana_client/models/create_website_request_inner.py +90 -0
  159. instana_client/models/cursor_paginated_business_activity_item.py +2 -2
  160. instana_client/models/cursor_pagination.py +2 -2
  161. instana_client/models/cursor_pagination_infra_explore_cursor.py +2 -2
  162. instana_client/models/custom_blueprint_indicator.py +8 -4
  163. instana_client/models/custom_dashboard.py +2 -2
  164. instana_client/models/custom_dashboard_preview.py +2 -2
  165. instana_client/models/custom_dashboard_with_user_specific_information.py +115 -0
  166. instana_client/models/custom_dependency.py +119 -0
  167. instana_client/models/custom_email_subject_prefix.py +2 -2
  168. instana_client/models/custom_entity_model.py +126 -0
  169. instana_client/models/custom_entity_with_metadata.py +98 -0
  170. instana_client/models/custom_event_mobile_app_alert_rule.py +2 -2
  171. instana_client/models/custom_event_specification.py +9 -3
  172. instana_client/models/custom_event_specification_with_last_updated.py +9 -3
  173. instana_client/models/custom_event_website_alert_rule.py +2 -2
  174. instana_client/models/custom_metric.py +134 -0
  175. instana_client/models/custom_payload_configuration.py +2 -2
  176. instana_client/models/custom_payload_field.py +2 -2
  177. instana_client/models/custom_payload_with_last_updated.py +2 -2
  178. instana_client/models/custom_payload_with_version.py +101 -0
  179. instana_client/models/dashboard_api_token.py +2 -2
  180. instana_client/models/database_integration.py +2 -2
  181. instana_client/models/deprecated_tag_filter.py +4 -4
  182. instana_client/models/division.py +97 -0
  183. instana_client/models/dns_configuration.py +146 -0
  184. instana_client/models/dns_configuration_update.py +143 -0
  185. instana_client/models/dns_filter_query_time.py +99 -0
  186. instana_client/models/dns_filter_target_value.py +106 -0
  187. instana_client/models/duration.py +2 -2
  188. instana_client/models/dynamic_field.py +2 -2
  189. instana_client/models/dynamic_field_value.py +2 -2
  190. instana_client/models/dynamic_parameter.py +2 -2
  191. instana_client/models/edit_user.py +2 -2
  192. instana_client/models/email_integration.py +2 -2
  193. instana_client/models/empty_configuration.py +2 -2
  194. instana_client/models/endpoint.py +4 -4
  195. instana_client/models/endpoint_config.py +2 -2
  196. instana_client/models/endpoint_event_result.py +8 -9
  197. instana_client/models/endpoint_item.py +2 -2
  198. instana_client/models/endpoint_metric_result.py +2 -2
  199. instana_client/models/endpoint_node.py +2 -2
  200. instana_client/models/endpoint_result.py +3 -3
  201. instana_client/models/endpoint_simple.py +3 -3
  202. instana_client/models/entity_count_rule.py +2 -2
  203. instana_client/models/entity_count_verification_rule.py +3 -3
  204. instana_client/models/entity_health_info.py +2 -2
  205. instana_client/models/entity_id.py +2 -2
  206. instana_client/models/entity_verification_rule.py +3 -3
  207. instana_client/models/error_budget_alert_rule.py +5 -5
  208. instana_client/models/errors_application_alert_rule.py +2 -2
  209. instana_client/models/event.py +11 -3
  210. instana_client/models/event_filtering_configuration.py +2 -2
  211. instana_client/models/event_result.py +4 -3
  212. instana_client/models/event_specification_info.py +2 -2
  213. instana_client/models/extended_service.py +2 -2
  214. instana_client/models/failure_synthetic_alert_rule.py +2 -2
  215. instana_client/models/fixed_http_path_segment_matching_rule.py +2 -2
  216. instana_client/models/fixed_time_window.py +4 -3
  217. instana_client/models/generic_infra_alert_rule.py +12 -4
  218. instana_client/models/geo_location_configuration.py +2 -2
  219. instana_client/models/geo_mapping_rule.py +2 -2
  220. instana_client/models/geo_subdivision.py +2 -2
  221. instana_client/models/get_activities.py +2 -2
  222. instana_client/models/get_application_metrics.py +2 -2
  223. instana_client/models/get_applications.py +2 -2
  224. instana_client/models/get_available_metrics_query.py +2 -2
  225. instana_client/models/get_available_plugins_query.py +2 -2
  226. instana_client/models/get_call_groups.py +2 -2
  227. instana_client/models/get_combined_metrics.py +2 -2
  228. instana_client/models/get_dynamic_parameter_values.py +2 -2
  229. instana_client/models/get_endpoints.py +2 -2
  230. instana_client/models/get_infrastructure_groups_query.py +2 -2
  231. instana_client/models/get_infrastructure_query.py +2 -2
  232. instana_client/models/get_metrics_result.py +2 -2
  233. instana_client/models/get_mobile_app_beacon_groups.py +2 -2
  234. instana_client/models/get_mobile_app_beacons.py +2 -2
  235. instana_client/models/get_mobile_app_metrics.py +2 -2
  236. instana_client/models/get_mobile_app_metrics_v2.py +2 -2
  237. instana_client/models/get_payload_keys_result.py +2 -2
  238. instana_client/models/get_services.py +2 -2
  239. instana_client/models/get_snapshots_query.py +2 -2
  240. instana_client/models/get_test_result.py +2 -2
  241. instana_client/models/get_test_result_analytic.py +126 -0
  242. instana_client/models/get_test_result_base.py +2 -2
  243. instana_client/models/get_test_result_list.py +2 -2
  244. instana_client/models/get_test_summary_result.py +2 -2
  245. instana_client/models/get_trace_download_result_item.py +3 -3
  246. instana_client/models/get_trace_groups.py +2 -2
  247. instana_client/models/get_traces.py +4 -4
  248. instana_client/models/get_website_beacon_groups.py +2 -2
  249. instana_client/models/get_website_beacons.py +2 -2
  250. instana_client/models/get_website_metrics.py +2 -2
  251. instana_client/models/get_website_metrics_v2.py +2 -2
  252. instana_client/models/global_application_alert_config_with_metadata.py +2 -2
  253. instana_client/models/global_applications_alert_config.py +2 -2
  254. instana_client/models/google_chat_integration.py +2 -2
  255. instana_client/models/graph_edge.py +2 -2
  256. instana_client/models/graph_node.py +2 -2
  257. instana_client/models/group.py +2 -2
  258. instana_client/models/group_by_tag.py +2 -2
  259. instana_client/models/group_mapping.py +5 -3
  260. instana_client/models/group_mapping_overview.py +96 -0
  261. instana_client/models/health_state.py +2 -2
  262. instana_client/models/historic_baseline.py +3 -3
  263. instana_client/models/host_availability_rule.py +2 -2
  264. instana_client/models/http_action_configuration.py +2 -2
  265. instana_client/models/http_action_configuration_update.py +138 -0
  266. instana_client/models/http_endpoint_config.py +2 -2
  267. instana_client/models/http_endpoint_rule.py +2 -2
  268. instana_client/models/http_path_segment_matching_rule.py +2 -2
  269. instana_client/models/http_script_configuration.py +5 -3
  270. instana_client/models/http_script_configuration_update.py +115 -0
  271. instana_client/models/hyper_param.py +2 -2
  272. instana_client/models/identity_provider_patch.py +2 -2
  273. instana_client/models/impacted_beacon_info.py +96 -0
  274. instana_client/models/infra_alert_config.py +8 -6
  275. instana_client/models/infra_alert_config_with_metadata.py +7 -5
  276. instana_client/models/infra_alert_rule.py +9 -3
  277. instana_client/models/infra_event_result.py +7 -8
  278. instana_client/models/infra_metric_configuration.py +103 -80
  279. instana_client/models/infra_slo_entity.py +95 -0
  280. instana_client/models/infra_time_threshold.py +2 -2
  281. instana_client/models/infrastructure_entities_result.py +2 -2
  282. instana_client/models/infrastructure_group.py +5 -3
  283. instana_client/models/infrastructure_groups_result.py +2 -2
  284. instana_client/models/infrastructure_item.py +2 -2
  285. instana_client/models/infrastructure_metric_result.py +2 -2
  286. instana_client/models/instana_version_info.py +2 -2
  287. instana_client/models/integration_overview.py +14 -4
  288. instana_client/models/invitation.py +6 -4
  289. instana_client/models/invitation_response.py +2 -2
  290. instana_client/models/invitation_result.py +2 -2
  291. instana_client/models/ip_masking_configuration.py +2 -2
  292. instana_client/models/js_stack_trace_line.py +2 -2
  293. instana_client/models/kubernetes_physical_context.py +3 -3
  294. instana_client/models/latency_blueprint_indicator.py +5 -16
  295. instana_client/models/llm_egress_gateway.py +124 -0
  296. instana_client/models/location_status.py +2 -2
  297. instana_client/models/log_alert_config.py +8 -6
  298. instana_client/models/log_alert_config_with_metadata.py +8 -6
  299. instana_client/models/log_alert_rule.py +2 -2
  300. instana_client/models/log_count_alert_rule.py +2 -2
  301. instana_client/models/log_entry_actor.py +2 -2
  302. instana_client/models/log_event_result.py +6 -7
  303. instana_client/models/log_time_threshold.py +2 -2
  304. instana_client/models/log_volume_group.py +91 -0
  305. instana_client/models/log_volume_usage_item.py +101 -0
  306. instana_client/models/log_volume_usage_result.py +96 -0
  307. instana_client/models/logs_application_alert_rule.py +4 -4
  308. instana_client/models/maintenance_config.py +2 -2
  309. instana_client/models/maintenance_config_scheduling.py +2 -2
  310. instana_client/models/maintenance_config_v2.py +2 -2
  311. instana_client/models/maintenance_config_v2_with_state_and_occurrence.py +2 -2
  312. instana_client/models/maintenance_config_with_last_updated.py +2 -2
  313. instana_client/models/maintenance_window.py +2 -2
  314. instana_client/models/manual_alerting_channel_configuration.py +2 -2
  315. instana_client/models/manual_close_info.py +2 -2
  316. instana_client/models/manual_service_config.py +2 -2
  317. instana_client/models/match_all_http_path_segment_matching_rule.py +2 -2
  318. instana_client/models/match_expression_dto.py +3 -3
  319. instana_client/models/meta_data.py +2 -2
  320. instana_client/models/metric_api_result.py +2 -2
  321. instana_client/models/metric_config.py +2 -2
  322. instana_client/models/metric_configuration.py +3 -3
  323. instana_client/models/metric_description.py +2 -2
  324. instana_client/models/metric_instance.py +2 -2
  325. instana_client/models/metric_item.py +2 -2
  326. instana_client/models/metric_metadata.py +4 -4
  327. instana_client/models/metric_pattern.py +2 -2
  328. instana_client/models/metric_query.py +128 -0
  329. instana_client/models/metrics_result.py +2 -2
  330. instana_client/models/metrics_result_item.py +5 -3
  331. instana_client/models/metrics_test_result_item.py +2 -2
  332. instana_client/models/mobile_app.py +2 -2
  333. instana_client/models/mobile_app_alert_config.py +2 -2
  334. instana_client/models/mobile_app_alert_rule.py +8 -5
  335. instana_client/models/mobile_app_beacon_groups_item.py +2 -2
  336. instana_client/models/mobile_app_beacon_groups_result.py +2 -2
  337. instana_client/models/mobile_app_beacon_result.py +2 -2
  338. instana_client/models/mobile_app_beacon_tag_group.py +2 -2
  339. instana_client/models/mobile_app_beacons_item.py +11 -5
  340. instana_client/models/mobile_app_event_result.py +6 -7
  341. instana_client/models/mobile_app_metric_result.py +2 -2
  342. instana_client/models/mobile_app_monitoring_beacon.py +22 -4
  343. instana_client/models/mobile_app_monitoring_metric_description.py +5 -3
  344. instana_client/models/mobile_app_monitoring_metrics_configuration.py +2 -2
  345. instana_client/models/mobile_app_time_threshold.py +2 -2
  346. instana_client/models/model_field.py +2 -2
  347. instana_client/models/monitored_entities_stats.py +92 -0
  348. instana_client/models/monitoring_state.py +11 -3
  349. instana_client/models/multiple_scripts_configuration.py +2 -2
  350. instana_client/models/multiplication.py +97 -0
  351. instana_client/models/nested_operation.py +128 -0
  352. instana_client/models/new_application_config.py +2 -2
  353. instana_client/models/new_business_perspective_config.py +2 -2
  354. instana_client/models/new_manual_service_config.py +2 -2
  355. instana_client/models/o_auth_config.py +110 -0
  356. instana_client/models/o_auth_integration.py +98 -0
  357. instana_client/models/o_auth_token.py +111 -0
  358. instana_client/models/occurrence.py +2 -2
  359. instana_client/models/office365_integration.py +2 -2
  360. instana_client/models/one_time_maintenance_window.py +2 -2
  361. instana_client/models/opsgenie_integration.py +2 -2
  362. instana_client/models/order.py +2 -2
  363. instana_client/models/pagerduty_integration.py +2 -2
  364. instana_client/models/paginated_result.py +2 -2
  365. instana_client/models/pagination.py +2 -2
  366. instana_client/models/parameter.py +2 -2
  367. instana_client/models/parameter_value.py +2 -2
  368. instana_client/models/path_parameter_http_path_segment_matching_rule.py +2 -2
  369. instana_client/models/physical_context.py +3 -3
  370. instana_client/models/plugin_result.py +2 -2
  371. instana_client/models/policy.py +2 -2
  372. instana_client/models/policy_runnable.py +2 -2
  373. instana_client/models/policy_scheduling.py +91 -0
  374. instana_client/models/post_mobile_app_source_map_config_request.py +88 -0
  375. instana_client/models/post_snapshots_result.py +2 -2
  376. instana_client/models/problem.py +2 -2
  377. instana_client/models/prometheus_webhook_integration.py +2 -2
  378. instana_client/models/recurrent_maintenance_window.py +2 -2
  379. instana_client/models/release.py +6 -6
  380. instana_client/models/release_scope.py +2 -2
  381. instana_client/models/release_with_metadata.py +8 -8
  382. instana_client/models/retention_period.py +101 -0
  383. instana_client/models/rolling_time_window.py +4 -3
  384. instana_client/models/rule_input.py +2 -2
  385. instana_client/models/rule_with_threshold_application_alert_rule.py +2 -2
  386. instana_client/models/rule_with_threshold_infra_alert_rule.py +2 -2
  387. instana_client/models/rule_with_threshold_log_alert_rule.py +2 -2
  388. instana_client/models/rule_with_threshold_mobile_app_alert_rule.py +2 -2
  389. instana_client/models/rule_with_threshold_website_alert_rule.py +2 -2
  390. instana_client/models/run_configuration.py +2 -2
  391. instana_client/models/salesforce_integration.py +2 -2
  392. instana_client/models/saturation_blueprint_indicator.py +97 -0
  393. instana_client/models/scope_binding.py +2 -2
  394. instana_client/models/search_field_result.py +2 -2
  395. instana_client/models/service.py +3 -3
  396. instana_client/models/service_config.py +2 -2
  397. instana_client/models/service_event_result.py +6 -7
  398. instana_client/models/service_item.py +2 -2
  399. instana_client/models/service_level_indicator.py +10 -7
  400. instana_client/models/service_level_objective_alert_rule.py +2 -2
  401. instana_client/models/service_level_objective_configuration.py +3 -3
  402. instana_client/models/service_levels_alert_config.py +15 -5
  403. instana_client/models/service_levels_alert_rule.py +2 -2
  404. instana_client/models/service_levels_burn_rate_config.py +115 -0
  405. instana_client/models/service_levels_burn_rate_time_windows.py +2 -2
  406. instana_client/models/service_levels_static_threshold_config.py +100 -0
  407. instana_client/models/service_levels_time_threshold.py +5 -5
  408. instana_client/models/service_levelse_alert_config_with_metadata.py +15 -5
  409. instana_client/models/service_map.py +2 -2
  410. instana_client/models/service_map_connection.py +2 -2
  411. instana_client/models/service_matching_rule.py +2 -2
  412. instana_client/models/service_metric_result.py +2 -2
  413. instana_client/models/service_node.py +2 -2
  414. instana_client/models/service_now_enhanced_integration.py +2 -2
  415. instana_client/models/service_now_integration.py +2 -2
  416. instana_client/models/service_result.py +3 -3
  417. instana_client/models/service_scope.py +4 -4
  418. instana_client/models/service_scope_with_metadata.py +5 -5
  419. instana_client/models/service_scoped_to.py +3 -3
  420. instana_client/models/service_scoped_to_with_metadata.py +4 -4
  421. instana_client/models/service_simple.py +2 -2
  422. instana_client/models/session_settings.py +4 -4
  423. instana_client/models/simple_metric_configuration.py +123 -0
  424. instana_client/models/single_value.py +128 -0
  425. instana_client/models/slack_integration.py +2 -2
  426. instana_client/models/sli_configuration.py +2 -2
  427. instana_client/models/sli_configuration_with_last_updated.py +2 -2
  428. instana_client/models/sli_entity.py +2 -2
  429. instana_client/models/sli_report.py +2 -2
  430. instana_client/models/slo_config_with_rbac_tag.py +128 -0
  431. instana_client/models/slo_entity.py +8 -5
  432. instana_client/models/slo_report.py +2 -2
  433. instana_client/models/slowness_application_alert_rule.py +2 -2
  434. instana_client/models/slowness_mobile_app_alert_rule.py +90 -0
  435. instana_client/models/slowness_website_alert_rule.py +2 -2
  436. instana_client/models/snapshot_item.py +2 -2
  437. instana_client/models/snapshot_preview.py +7 -7
  438. instana_client/models/snapshot_result.py +2 -2
  439. instana_client/models/software_user.py +2 -2
  440. instana_client/models/software_version.py +2 -2
  441. instana_client/models/source_map_file_blob.py +2 -2
  442. instana_client/models/source_map_file_meta.py +2 -2
  443. instana_client/models/source_map_upload_config.py +2 -2
  444. instana_client/models/source_map_upload_configs.py +106 -0
  445. instana_client/models/span_excerpt.py +12 -12
  446. instana_client/models/span_relation.py +3 -3
  447. instana_client/models/specific_js_errors_website_alert_rule.py +4 -4
  448. instana_client/models/splunk_integration.py +2 -2
  449. instana_client/models/ssl_certificate_configuration.py +17 -5
  450. instana_client/models/ssl_certificate_configuration_update.py +107 -0
  451. instana_client/models/ssl_certificate_validation.py +99 -0
  452. instana_client/models/stack_trace_item.py +7 -7
  453. instana_client/models/stack_trace_line.py +2 -2
  454. instana_client/models/static_baseline_threshold_rule.py +3 -3
  455. instana_client/models/static_string_field.py +2 -2
  456. instana_client/models/static_threshold.py +2 -2
  457. instana_client/models/static_threshold_rule.py +2 -2
  458. instana_client/models/status_code_application_alert_rule.py +2 -2
  459. instana_client/models/status_code_mobile_app_alert_rule.py +4 -4
  460. instana_client/models/status_code_website_alert_rule.py +4 -4
  461. instana_client/models/subtraction.py +97 -0
  462. instana_client/models/synthetic_alert_config.py +2 -2
  463. instana_client/models/synthetic_alert_config_with_metadata.py +2 -2
  464. instana_client/models/synthetic_alert_rule.py +2 -2
  465. instana_client/models/synthetic_bulk_response.py +92 -0
  466. instana_client/models/synthetic_call_config.py +4 -4
  467. instana_client/models/synthetic_call_rule.py +6 -6
  468. instana_client/models/synthetic_call_with_defaults_config.py +4 -4
  469. instana_client/models/synthetic_configuration.py +93 -0
  470. instana_client/models/synthetic_configuration_update.py +95 -0
  471. instana_client/models/synthetic_credential.py +23 -3
  472. instana_client/models/synthetic_datacenter.py +2 -2
  473. instana_client/models/synthetic_datacenter_configuration.py +2 -2
  474. instana_client/models/synthetic_geo_point.py +2 -2
  475. instana_client/models/synthetic_location.py +2 -2
  476. instana_client/models/synthetic_location_configuration.py +2 -2
  477. instana_client/models/synthetic_metric_configuration.py +2 -2
  478. instana_client/models/synthetic_metric_tag_group.py +18 -5
  479. instana_client/models/synthetic_playback_capabilities.py +17 -4
  480. instana_client/models/synthetic_resource_update_list_dns_filter_target_value_list_dns_filter_target_value.py +105 -0
  481. instana_client/models/synthetic_resource_update_list_ssl_certificate_validation_list_ssl_certificate_validation.py +105 -0
  482. instana_client/models/synthetic_resource_update_list_string_list_string.py +90 -0
  483. instana_client/models/synthetic_resource_update_map_string_string_list_string.py +90 -0
  484. instana_client/models/synthetic_slo_entity.py +7 -5
  485. instana_client/models/synthetic_test.py +27 -3
  486. instana_client/models/synthetic_test_cicd.py +96 -0
  487. instana_client/models/synthetic_test_cicd_customization.py +96 -0
  488. instana_client/models/synthetic_test_cicd_item.py +114 -0
  489. instana_client/models/synthetic_test_cicd_response.py +92 -0
  490. instana_client/models/synthetic_test_deep_update.py +122 -0
  491. instana_client/models/synthetic_test_shallow_update.py +122 -0
  492. instana_client/models/synthetic_test_update.py +147 -0
  493. instana_client/models/synthetic_time_threshold.py +2 -2
  494. instana_client/models/synthetic_type_configuration.py +11 -11
  495. instana_client/models/synthetic_type_configuration_update.py +152 -0
  496. instana_client/models/synthetics_event_result.py +6 -7
  497. instana_client/models/system_rule.py +2 -2
  498. instana_client/models/system_rule_label.py +2 -2
  499. instana_client/models/tag.py +6 -6
  500. instana_client/models/tag_catalog.py +2 -2
  501. instana_client/models/tag_filter.py +22 -10
  502. instana_client/models/tag_filter_all_of_value.py +195 -0
  503. instana_client/models/tag_filter_expression.py +2 -2
  504. instana_client/models/tag_filter_expression_element.py +2 -2
  505. instana_client/models/tag_matcher_dto.py +2 -2
  506. instana_client/models/tag_tree_level.py +2 -2
  507. instana_client/models/tag_tree_node.py +2 -2
  508. instana_client/models/tag_tree_tag.py +2 -2
  509. instana_client/models/test_common_properties.py +2 -2
  510. instana_client/models/test_last_error.py +90 -0
  511. instana_client/models/test_result.py +2 -2
  512. instana_client/models/test_result_common_properties.py +24 -3
  513. instana_client/models/test_result_detail_data.py +2 -2
  514. instana_client/models/test_result_item.py +2 -2
  515. instana_client/models/test_result_list_item.py +2 -2
  516. instana_client/models/test_result_list_result.py +2 -2
  517. instana_client/models/test_result_metadata.py +2 -2
  518. instana_client/models/test_result_subtransaction.py +2 -2
  519. instana_client/models/threshold.py +2 -2
  520. instana_client/models/threshold_config_rule.py +2 -2
  521. instana_client/models/threshold_rule.py +2 -2
  522. instana_client/models/throughput_application_alert_rule.py +2 -2
  523. instana_client/models/throughput_mobile_app_alert_rule.py +2 -2
  524. instana_client/models/throughput_website_alert_rule.py +2 -2
  525. instana_client/models/time_frame.py +2 -2
  526. instana_client/models/time_window.py +5 -4
  527. instana_client/models/topology.py +2 -2
  528. instana_client/models/trace.py +8 -8
  529. instana_client/models/trace_activity_tree_node_details.py +27 -15
  530. instana_client/models/trace_download_result.py +2 -2
  531. instana_client/models/trace_groups_item.py +2 -2
  532. instana_client/models/trace_groups_result.py +2 -2
  533. instana_client/models/trace_impact_application_time_threshold.py +2 -2
  534. instana_client/models/trace_item.py +2 -2
  535. instana_client/models/trace_result.py +2 -2
  536. instana_client/models/traffic_blueprint_indicator.py +3 -3
  537. instana_client/models/trigger.py +15 -7
  538. instana_client/models/type_configuration.py +2 -2
  539. instana_client/models/unsupported_http_path_segment_matching_rule.py +2 -2
  540. instana_client/models/updated_business_perspective_config.py +2 -2
  541. instana_client/models/usage_result.py +2 -2
  542. instana_client/models/usage_result_items.py +2 -2
  543. instana_client/models/user_basic_result.py +2 -2
  544. instana_client/models/user_impact_mobile_app_time_threshold.py +3 -3
  545. instana_client/models/user_impact_website_time_threshold.py +3 -3
  546. instana_client/models/user_result.py +2 -2
  547. instana_client/models/users_result.py +2 -2
  548. instana_client/models/validated_alerting_channel_input_info.py +4 -4
  549. instana_client/models/validated_alerting_configuration.py +2 -2
  550. instana_client/models/validated_maintenance_config_v2_with_state_and_occurrence.py +2 -2
  551. instana_client/models/validated_maintenance_config_with_status.py +2 -2
  552. instana_client/models/victor_ops_integration.py +2 -2
  553. instana_client/models/violations_in_period_application_time_threshold.py +2 -2
  554. instana_client/models/violations_in_period_mobile_app_time_threshold.py +2 -2
  555. instana_client/models/violations_in_period_website_time_threshold.py +2 -2
  556. instana_client/models/violations_in_sequence_application_time_threshold.py +2 -2
  557. instana_client/models/violations_in_sequence_infra_time_threshold.py +2 -2
  558. instana_client/models/violations_in_sequence_log_time_threshold.py +2 -2
  559. instana_client/models/violations_in_sequence_mobile_app_time_threshold.py +2 -2
  560. instana_client/models/violations_in_sequence_synthetic_time_threshold.py +2 -2
  561. instana_client/models/violations_in_sequence_website_time_threshold.py +2 -2
  562. instana_client/models/watson_ai_ops_webhook_integration.py +2 -2
  563. instana_client/models/webex_teams_webhook_integration.py +2 -2
  564. instana_client/models/webhook_integration.py +14 -4
  565. instana_client/models/webpage_action_configuration.py +2 -2
  566. instana_client/models/webpage_action_configuration_update.py +109 -0
  567. instana_client/models/webpage_script_configuration.py +5 -3
  568. instana_client/models/webpage_script_configuration_update.py +111 -0
  569. instana_client/models/website.py +2 -2
  570. instana_client/models/website_alert_config.py +2 -2
  571. instana_client/models/website_alert_config_with_metadata.py +2 -2
  572. instana_client/models/website_alert_rule.py +2 -2
  573. instana_client/models/website_apdex_entity.py +2 -2
  574. instana_client/models/website_beacon_groups_item.py +2 -2
  575. instana_client/models/website_beacon_groups_result.py +2 -2
  576. instana_client/models/website_beacon_result.py +2 -2
  577. instana_client/models/website_beacon_tag_group.py +2 -2
  578. instana_client/models/website_beacons_item.py +11 -5
  579. instana_client/models/website_event_based_sli_entity.py +2 -2
  580. instana_client/models/website_event_result.py +5 -6
  581. instana_client/models/website_metric_result.py +2 -2
  582. instana_client/models/website_monitoring_beacon.py +7 -3
  583. instana_client/models/website_monitoring_metric_description.py +2 -2
  584. instana_client/models/website_monitoring_metrics_configuration.py +2 -2
  585. instana_client/models/website_slo_entity.py +2 -2
  586. instana_client/models/website_time_based_sli_entity.py +2 -2
  587. instana_client/models/website_time_threshold.py +2 -2
  588. instana_client/models/widget.py +2 -2
  589. instana_client/models/with_metadata.py +2 -2
  590. instana_client/models/with_resolved_name.py +2 -2
  591. instana_client/models/z_chat_ops_integration.py +2 -2
  592. instana_client/rest.py +3 -2
  593. instana_client-1.0.3.dist-info/METADATA +1097 -0
  594. instana_client-1.0.3.dist-info/RECORD +599 -0
  595. {instana_client-1.0.0.dist-info → instana_client-1.0.3.dist-info}/WHEEL +1 -1
  596. instana_client/models/dns_action_configuration.py +0 -134
  597. instana_client/models/dns_action_filter_query_time.py +0 -99
  598. instana_client/models/dns_action_filter_target_value.py +0 -106
  599. instana_client/models/full_trace.py +0 -97
  600. instana_client/models/span.py +0 -156
  601. instana_client-1.0.0.dist-info/METADATA +0 -25
  602. instana_client-1.0.0.dist-info/RECORD +0 -515
  603. {instana_client-1.0.0.dist-info → instana_client-1.0.3.dist-info}/licenses/LICENSE +0 -0
  604. {instana_client-1.0.0.dist-info → instana_client-1.0.3.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,122 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Instana REST API documentation
5
+
6
+ Documentation for INSTANA REST API
7
+
8
+ The version of the OpenAPI document: 1.309.1268
9
+ Contact: support@instana.com
10
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
11
+
12
+ Do not edit the class manually.
13
+ """ # noqa: E501
14
+
15
+
16
+ from __future__ import annotations
17
+ import pprint
18
+ import re # noqa: F401
19
+ import json
20
+
21
+ from pydantic import ConfigDict
22
+ from typing import Any, ClassVar, Dict, List, Optional
23
+ from instana_client.models.synthetic_configuration_update import SyntheticConfigurationUpdate
24
+ from instana_client.models.synthetic_resource_update_list_string_list_string import SyntheticResourceUpdateListStringListString
25
+ from instana_client.models.synthetic_resource_update_map_string_string_list_string import SyntheticResourceUpdateMapStringStringListString
26
+ from instana_client.models.synthetic_test_update import SyntheticTestUpdate
27
+ from typing import Optional, Set
28
+ from typing_extensions import Self
29
+
30
+ class SyntheticTestShallowUpdate(SyntheticTestUpdate):
31
+ """
32
+ SyntheticTestShallowUpdate
33
+ """ # noqa: E501
34
+ configuration: Optional[SyntheticConfigurationUpdate] = None
35
+ __properties: ClassVar[List[str]] = ["active", "applications", "customProperties", "ids", "lastModifiedAt", "locations", "mobileApps", "modifiedBy", "shallowUpdate", "syntheticUpdateType", "testFrequency", "websites", "configuration"]
36
+
37
+ model_config = ConfigDict(
38
+ populate_by_name=True,
39
+ validate_assignment=True,
40
+ protected_namespaces=(),
41
+ )
42
+
43
+
44
+ def to_str(self) -> str:
45
+ """Returns the string representation of the model using alias"""
46
+ return pprint.pformat(self.model_dump(by_alias=True))
47
+
48
+ def to_json(self) -> str:
49
+ """Returns the JSON representation of the model using alias"""
50
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
51
+ return json.dumps(self.to_dict())
52
+
53
+ @classmethod
54
+ def from_json(cls, json_str: str) -> Optional[Self]:
55
+ """Create an instance of SyntheticTestShallowUpdate from a JSON string"""
56
+ return cls.from_dict(json.loads(json_str))
57
+
58
+ def to_dict(self) -> Dict[str, Any]:
59
+ """Return the dictionary representation of the model using alias.
60
+
61
+ This has the following differences from calling pydantic's
62
+ `self.model_dump(by_alias=True)`:
63
+
64
+ * `None` is only added to the output dict for nullable fields that
65
+ were set at model initialization. Other fields with value `None`
66
+ are ignored.
67
+ """
68
+ excluded_fields: Set[str] = set([
69
+ ])
70
+
71
+ _dict = self.model_dump(
72
+ by_alias=True,
73
+ exclude=excluded_fields,
74
+ exclude_none=True,
75
+ )
76
+ # override the default output from pydantic by calling `to_dict()` of applications
77
+ if self.applications:
78
+ _dict['applications'] = self.applications.to_dict()
79
+ # override the default output from pydantic by calling `to_dict()` of custom_properties
80
+ if self.custom_properties:
81
+ _dict['customProperties'] = self.custom_properties.to_dict()
82
+ # override the default output from pydantic by calling `to_dict()` of locations
83
+ if self.locations:
84
+ _dict['locations'] = self.locations.to_dict()
85
+ # override the default output from pydantic by calling `to_dict()` of mobile_apps
86
+ if self.mobile_apps:
87
+ _dict['mobileApps'] = self.mobile_apps.to_dict()
88
+ # override the default output from pydantic by calling `to_dict()` of websites
89
+ if self.websites:
90
+ _dict['websites'] = self.websites.to_dict()
91
+ # override the default output from pydantic by calling `to_dict()` of configuration
92
+ if self.configuration:
93
+ _dict['configuration'] = self.configuration.to_dict()
94
+ return _dict
95
+
96
+ @classmethod
97
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
98
+ """Create an instance of SyntheticTestShallowUpdate from a dict"""
99
+ if obj is None:
100
+ return None
101
+
102
+ if not isinstance(obj, dict):
103
+ return cls.model_validate(obj)
104
+
105
+ _obj = cls.model_validate({
106
+ "active": obj.get("active"),
107
+ "applications": SyntheticResourceUpdateListStringListString.from_dict(obj["applications"]) if obj.get("applications") is not None else None,
108
+ "customProperties": SyntheticResourceUpdateMapStringStringListString.from_dict(obj["customProperties"]) if obj.get("customProperties") is not None else None,
109
+ "ids": obj.get("ids"),
110
+ "lastModifiedAt": obj.get("lastModifiedAt"),
111
+ "locations": SyntheticResourceUpdateListStringListString.from_dict(obj["locations"]) if obj.get("locations") is not None else None,
112
+ "mobileApps": SyntheticResourceUpdateListStringListString.from_dict(obj["mobileApps"]) if obj.get("mobileApps") is not None else None,
113
+ "modifiedBy": obj.get("modifiedBy"),
114
+ "shallowUpdate": obj.get("shallowUpdate"),
115
+ "syntheticUpdateType": obj.get("syntheticUpdateType"),
116
+ "testFrequency": obj.get("testFrequency"),
117
+ "websites": SyntheticResourceUpdateListStringListString.from_dict(obj["websites"]) if obj.get("websites") is not None else None,
118
+ "configuration": SyntheticConfigurationUpdate.from_dict(obj["configuration"]) if obj.get("configuration") is not None else None
119
+ })
120
+ return _obj
121
+
122
+
@@ -0,0 +1,147 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Instana REST API documentation
5
+
6
+ Documentation for INSTANA REST API
7
+
8
+ The version of the OpenAPI document: 1.309.1268
9
+ Contact: support@instana.com
10
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
11
+
12
+ Do not edit the class manually.
13
+ """ # noqa: E501
14
+
15
+
16
+ from __future__ import annotations
17
+ import pprint
18
+ import re # noqa: F401
19
+ import json
20
+
21
+ from importlib import import_module
22
+ from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr, field_validator
23
+ from typing import Any, ClassVar, Dict, List, Optional, Union
24
+ from typing_extensions import Annotated
25
+ from instana_client.models.synthetic_resource_update_list_string_list_string import SyntheticResourceUpdateListStringListString
26
+ from instana_client.models.synthetic_resource_update_map_string_string_list_string import SyntheticResourceUpdateMapStringStringListString
27
+ from typing import Optional, Set
28
+ from typing_extensions import Self
29
+
30
+ from typing import TYPE_CHECKING
31
+ if TYPE_CHECKING:
32
+ from instana_client.models.synthetic_test_deep_update import SyntheticTestDeepUpdate
33
+ from instana_client.models.synthetic_test_shallow_update import SyntheticTestShallowUpdate
34
+
35
+ class SyntheticTestUpdate(BaseModel):
36
+ """
37
+ Identifies the type of the synthetic tests updated on this request. Valid types are Deep and Shallow.
38
+ """ # noqa: E501
39
+ active: Optional[StrictBool] = None
40
+ applications: Optional[SyntheticResourceUpdateListStringListString] = None
41
+ custom_properties: Optional[SyntheticResourceUpdateMapStringStringListString] = Field(default=None, alias="customProperties")
42
+ ids: Optional[List[StrictStr]] = None
43
+ last_modified_at: Optional[List[StrictInt]] = Field(default=None, alias="lastModifiedAt")
44
+ locations: Optional[SyntheticResourceUpdateListStringListString] = None
45
+ mobile_apps: Optional[SyntheticResourceUpdateListStringListString] = Field(default=None, alias="mobileApps")
46
+ modified_by: Optional[StrictStr] = Field(default=None, alias="modifiedBy")
47
+ shallow_update: Optional[StrictBool] = Field(default=None, alias="shallowUpdate")
48
+ synthetic_update_type: StrictStr = Field(description="Indicates the type of update to apply to a set of tests of same syntheticType (Deep) or a mix of syntheticType values (Shallow). When Shallow is used, only the configuration properties retries, retryInterval and timeout can be updated ", alias="syntheticUpdateType")
49
+ test_frequency: Optional[Annotated[int, Field(le=1440, strict=True, ge=1)]] = Field(default=None, alias="testFrequency")
50
+ websites: Optional[SyntheticResourceUpdateListStringListString] = None
51
+ __properties: ClassVar[List[str]] = ["active", "applications", "customProperties", "ids", "lastModifiedAt", "locations", "mobileApps", "modifiedBy", "shallowUpdate", "syntheticUpdateType", "testFrequency", "websites"]
52
+
53
+ @field_validator('synthetic_update_type')
54
+ def synthetic_update_type_validate_enum(cls, value):
55
+ """Validates the enum"""
56
+ if value not in set(['Deep', 'Shallow']):
57
+ raise ValueError("must be one of enum values ('Deep', 'Shallow')")
58
+ return value
59
+
60
+ model_config = ConfigDict(
61
+ populate_by_name=True,
62
+ validate_assignment=True,
63
+ protected_namespaces=(),
64
+ )
65
+
66
+
67
+ # JSON field name that stores the object type
68
+ __discriminator_property_name: ClassVar[str] = 'syntheticUpdateType'
69
+
70
+ # discriminator mappings
71
+ __discriminator_value_class_map: ClassVar[Dict[str, str]] = {
72
+ 'Deep': 'SyntheticTestDeepUpdate','Shallow': 'SyntheticTestShallowUpdate'
73
+ }
74
+
75
+ @classmethod
76
+ def get_discriminator_value(cls, obj: Dict[str, Any]) -> Optional[str]:
77
+ """Returns the discriminator value (object type) of the data"""
78
+ discriminator_value = obj[cls.__discriminator_property_name]
79
+ if discriminator_value:
80
+ return cls.__discriminator_value_class_map.get(discriminator_value)
81
+ else:
82
+ return None
83
+
84
+ def to_str(self) -> str:
85
+ """Returns the string representation of the model using alias"""
86
+ return pprint.pformat(self.model_dump(by_alias=True))
87
+
88
+ def to_json(self) -> str:
89
+ """Returns the JSON representation of the model using alias"""
90
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
91
+ return json.dumps(self.to_dict())
92
+
93
+ @classmethod
94
+ def from_json(cls, json_str: str) -> Optional[Union[SyntheticTestDeepUpdate, SyntheticTestShallowUpdate]]:
95
+ """Create an instance of SyntheticTestUpdate from a JSON string"""
96
+ return cls.from_dict(json.loads(json_str))
97
+
98
+ def to_dict(self) -> Dict[str, Any]:
99
+ """Return the dictionary representation of the model using alias.
100
+
101
+ This has the following differences from calling pydantic's
102
+ `self.model_dump(by_alias=True)`:
103
+
104
+ * `None` is only added to the output dict for nullable fields that
105
+ were set at model initialization. Other fields with value `None`
106
+ are ignored.
107
+ """
108
+ excluded_fields: Set[str] = set([
109
+ ])
110
+
111
+ _dict = self.model_dump(
112
+ by_alias=True,
113
+ exclude=excluded_fields,
114
+ exclude_none=True,
115
+ )
116
+ # override the default output from pydantic by calling `to_dict()` of applications
117
+ if self.applications:
118
+ _dict['applications'] = self.applications.to_dict()
119
+ # override the default output from pydantic by calling `to_dict()` of custom_properties
120
+ if self.custom_properties:
121
+ _dict['customProperties'] = self.custom_properties.to_dict()
122
+ # override the default output from pydantic by calling `to_dict()` of locations
123
+ if self.locations:
124
+ _dict['locations'] = self.locations.to_dict()
125
+ # override the default output from pydantic by calling `to_dict()` of mobile_apps
126
+ if self.mobile_apps:
127
+ _dict['mobileApps'] = self.mobile_apps.to_dict()
128
+ # override the default output from pydantic by calling `to_dict()` of websites
129
+ if self.websites:
130
+ _dict['websites'] = self.websites.to_dict()
131
+ return _dict
132
+
133
+ @classmethod
134
+ def from_dict(cls, obj: Dict[str, Any]) -> Optional[Union[SyntheticTestDeepUpdate, SyntheticTestShallowUpdate]]:
135
+ """Create an instance of SyntheticTestUpdate from a dict"""
136
+ # look up the object type based on discriminator mapping
137
+ object_type = cls.get_discriminator_value(obj)
138
+ if object_type == 'SyntheticTestDeepUpdate':
139
+ return import_module("instana_client.models.synthetic_test_deep_update").SyntheticTestDeepUpdate.from_dict(obj)
140
+ if object_type == 'SyntheticTestShallowUpdate':
141
+ return import_module("instana_client.models.synthetic_test_shallow_update").SyntheticTestShallowUpdate.from_dict(obj)
142
+
143
+ raise ValueError("SyntheticTestUpdate failed to lookup discriminator value from " +
144
+ json.dumps(obj) + ". Discriminator property name: " + cls.__discriminator_property_name +
145
+ ", mapping: " + json.dumps(cls.__discriminator_value_class_map))
146
+
147
+
@@ -3,9 +3,9 @@
3
3
  """
4
4
  Instana REST API documentation
5
5
 
6
- Searching for answers and best pratices? Check our [IBM Instana Community](https://community.ibm.com/community/user/aiops/communities/community-home?CommunityKey=58f324a3-3104-41be-9510-5b7c413cc48f). ## Overview The Instana REST API provides programmatic access to the Instana platform. It can be used to retrieve data available through the Instana UI Dashboard -- metrics, events, traces, etc -- and also to automate configuration tasks such as user management. ### Navigating the API documentation The API endpoints are grouped by product area and functionality. This generally maps to how our UI Dashboard is organized, hopefully making it easier to locate which endpoints you'd use to fetch the data you see visualized in our UI. The [UI sections](https://www.ibm.com/docs/en/instana-observability/current?topic=working-user-interface#navigation-menu) include: - Websites & Mobile Apps - Applications - Infrastructure - Synthetic Monitoring - Events - Automation - Service Levels - Settings - etc ### Rate Limiting A rate limit is applied to API usage. Up to 5,000 calls per hour can be made. How many remaining calls can be made and when this call limit resets, can inspected via three headers that are part of the responses of the API server. - **X-RateLimit-Limit:** Shows the maximum number of calls that may be executed per hour. - **X-RateLimit-Remaining:** How many calls may still be executed within the current hour. - **X-RateLimit-Reset:** Time when the remaining calls will be reset to the limit. For compatibility reasons with other rate limited APIs, this date is not the date in milliseconds, but instead in seconds since 1970-01-01T00:00:00+00:00. ### Further Reading We provide additional documentation for our REST API in our [product documentation](https://www.ibm.com/docs/en/instana-observability/current?topic=apis-web-rest-api). Here you'll also find some common queries for retrieving data and configuring Instana. ## Getting Started with the REST API ### API base URL The base URL for an specific instance of Instana can be determined using the tenant and unit information. - `base`: This is the base URL of a tenant unit, e.g. `https://test-example.instana.io`. This is the same URL that is used to access the Instana user interface. - `apiToken`: Requests against the Instana API require valid API tokens. An initial API token can be generated via the Instana user interface. Any additional API tokens can be generated via the API itself. ### Curl Example Here is an Example to use the REST API with Curl. First lets get all the available metrics with possible aggregations with a GET call. ```bash curl --request GET \\ --url https://test-instana.instana.io/api/application-monitoring/catalog/metrics \\ --header 'authorization: apiToken xxxxxxxxxxxxxxxx' ``` Next we can get every call grouped by the endpoint name that has an error count greater then zero. As a metric we could get the mean error rate for example. ```bash curl --request POST \\ --url https://test-instana.instana.io/api/application-monitoring/analyze/call-groups \\ --header 'authorization: apiToken xxxxxxxxxxxxxxxx' \\ --header 'content-type: application/json' \\ --data '{ \"group\":{ \"groupbyTag\":\"endpoint.name\" }, \"tagFilters\":[ { \"name\":\"call.error.count\", \"value\":\"0\", \"operator\":\"GREATER_THAN\" } ], \"metrics\":[ { \"metric\":\"errors\", \"aggregation\":\"MEAN\" } ] }' ``` ### Generating REST API clients The API is specified using the [OpenAPI v3](https://github.com/OAI/OpenAPI-Specification) (previously known as Swagger) format. You can download the current specification at our [GitHub API documentation](https://instana.github.io/openapi/openapi.yaml). OpenAPI tries to solve the issue of ever-evolving APIs and clients lagging behind. Please make sure that you always use the latest version of the generator, as a number of improvements are regularly made. To generate a client library for your language, you can use the [OpenAPI client generators](https://github.com/OpenAPITools/openapi-generator). #### Go For example, to generate a client library for Go to interact with our backend, you can use the following script; mind replacing the values of the `UNIT_NAME` and `TENANT_NAME` environment variables using those for your tenant unit: ```bash #!/bin/bash ### This script assumes you have the `java` and `wget` commands on the path export UNIT_NAME='myunit' # for example: prod export TENANT_NAME='mytenant' # for example: awesomecompany //Download the generator to your current working directory: wget https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/4.3.1/openapi-generator-cli-4.3.1.jar -O openapi-generator-cli.jar --server-variables \"tenant=${TENANT_NAME},unit=${UNIT_NAME}\" //generate a client library that you can vendor into your repository java -jar openapi-generator-cli.jar generate -i https://instana.github.io/openapi/openapi.yaml -g go \\ -o pkg/instana/openapi \\ --skip-validate-spec //(optional) format the Go code according to the Go code standard gofmt -s -w pkg/instana/openapi ``` The generated clients contain comprehensive READMEs, and you can start right away using the client from the example above: ```go import instana \"./pkg/instana/openapi\" // readTags will read all available application monitoring tags along with their type and category func readTags() { configuration := instana.NewConfiguration() configuration.Host = \"tenant-unit.instana.io\" configuration.BasePath = \"https://tenant-unit.instana.io\" client := instana.NewAPIClient(configuration) auth := context.WithValue(context.Background(), instana.ContextAPIKey, instana.APIKey{ Key: apiKey, Prefix: \"apiToken\", }) tags, _, err := client.ApplicationCatalogApi.GetApplicationTagCatalog(auth) if err != nil { fmt.Fatalf(\"Error calling the API, aborting.\") } for _, tag := range tags { fmt.Printf(\"%s (%s): %s\\n\", tag.Category, tag.Type, tag.Name) } } ``` #### Java Follow the instructions provided in the official documentation from [OpenAPI Tools](https://github.com/OpenAPITools) to download the [openapi-generator-cli.jar](https://github.com/OpenAPITools/openapi-generator?tab=readme-ov-file#13---download-jar). Depending on your environment, use one of the following java http client implementations which will create a valid client for our OpenAPI specification: ``` //Nativ Java HTTP Client java -jar openapi-generator-cli.jar generate -i https://instana.github.io/openapi/openapi.yaml -g java -o pkg/instana/openapi --skip-validate-spec -p dateLibrary=java8 --library native //Spring WebClient java -jar openapi-generator-cli.jar generate -i https://instana.github.io/openapi/openapi.yaml -g java -o pkg/instana/openapi --skip-validate-spec -p dateLibrary=java8,hideGenerationTimestamp=true --library webclient //Spring RestTemplate java -jar openapi-generator-cli.jar generate -i https://instana.github.io/openapi/openapi.yaml -g java -o pkg/instana/openapi --skip-validate-spec -p dateLibrary=java8,hideGenerationTimestamp=true --library resttemplate ```
6
+ Documentation for INSTANA REST API
7
7
 
8
- The version of the OpenAPI document: 1.291.1002
8
+ The version of the OpenAPI document: 1.309.1268
9
9
  Contact: support@instana.com
10
10
  Generated by OpenAPI Generator (https://openapi-generator.tech)
11
11
 
@@ -3,9 +3,9 @@
3
3
  """
4
4
  Instana REST API documentation
5
5
 
6
- Searching for answers and best pratices? Check our [IBM Instana Community](https://community.ibm.com/community/user/aiops/communities/community-home?CommunityKey=58f324a3-3104-41be-9510-5b7c413cc48f). ## Overview The Instana REST API provides programmatic access to the Instana platform. It can be used to retrieve data available through the Instana UI Dashboard -- metrics, events, traces, etc -- and also to automate configuration tasks such as user management. ### Navigating the API documentation The API endpoints are grouped by product area and functionality. This generally maps to how our UI Dashboard is organized, hopefully making it easier to locate which endpoints you'd use to fetch the data you see visualized in our UI. The [UI sections](https://www.ibm.com/docs/en/instana-observability/current?topic=working-user-interface#navigation-menu) include: - Websites & Mobile Apps - Applications - Infrastructure - Synthetic Monitoring - Events - Automation - Service Levels - Settings - etc ### Rate Limiting A rate limit is applied to API usage. Up to 5,000 calls per hour can be made. How many remaining calls can be made and when this call limit resets, can inspected via three headers that are part of the responses of the API server. - **X-RateLimit-Limit:** Shows the maximum number of calls that may be executed per hour. - **X-RateLimit-Remaining:** How many calls may still be executed within the current hour. - **X-RateLimit-Reset:** Time when the remaining calls will be reset to the limit. For compatibility reasons with other rate limited APIs, this date is not the date in milliseconds, but instead in seconds since 1970-01-01T00:00:00+00:00. ### Further Reading We provide additional documentation for our REST API in our [product documentation](https://www.ibm.com/docs/en/instana-observability/current?topic=apis-web-rest-api). Here you'll also find some common queries for retrieving data and configuring Instana. ## Getting Started with the REST API ### API base URL The base URL for an specific instance of Instana can be determined using the tenant and unit information. - `base`: This is the base URL of a tenant unit, e.g. `https://test-example.instana.io`. This is the same URL that is used to access the Instana user interface. - `apiToken`: Requests against the Instana API require valid API tokens. An initial API token can be generated via the Instana user interface. Any additional API tokens can be generated via the API itself. ### Curl Example Here is an Example to use the REST API with Curl. First lets get all the available metrics with possible aggregations with a GET call. ```bash curl --request GET \\ --url https://test-instana.instana.io/api/application-monitoring/catalog/metrics \\ --header 'authorization: apiToken xxxxxxxxxxxxxxxx' ``` Next we can get every call grouped by the endpoint name that has an error count greater then zero. As a metric we could get the mean error rate for example. ```bash curl --request POST \\ --url https://test-instana.instana.io/api/application-monitoring/analyze/call-groups \\ --header 'authorization: apiToken xxxxxxxxxxxxxxxx' \\ --header 'content-type: application/json' \\ --data '{ \"group\":{ \"groupbyTag\":\"endpoint.name\" }, \"tagFilters\":[ { \"name\":\"call.error.count\", \"value\":\"0\", \"operator\":\"GREATER_THAN\" } ], \"metrics\":[ { \"metric\":\"errors\", \"aggregation\":\"MEAN\" } ] }' ``` ### Generating REST API clients The API is specified using the [OpenAPI v3](https://github.com/OAI/OpenAPI-Specification) (previously known as Swagger) format. You can download the current specification at our [GitHub API documentation](https://instana.github.io/openapi/openapi.yaml). OpenAPI tries to solve the issue of ever-evolving APIs and clients lagging behind. Please make sure that you always use the latest version of the generator, as a number of improvements are regularly made. To generate a client library for your language, you can use the [OpenAPI client generators](https://github.com/OpenAPITools/openapi-generator). #### Go For example, to generate a client library for Go to interact with our backend, you can use the following script; mind replacing the values of the `UNIT_NAME` and `TENANT_NAME` environment variables using those for your tenant unit: ```bash #!/bin/bash ### This script assumes you have the `java` and `wget` commands on the path export UNIT_NAME='myunit' # for example: prod export TENANT_NAME='mytenant' # for example: awesomecompany //Download the generator to your current working directory: wget https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/4.3.1/openapi-generator-cli-4.3.1.jar -O openapi-generator-cli.jar --server-variables \"tenant=${TENANT_NAME},unit=${UNIT_NAME}\" //generate a client library that you can vendor into your repository java -jar openapi-generator-cli.jar generate -i https://instana.github.io/openapi/openapi.yaml -g go \\ -o pkg/instana/openapi \\ --skip-validate-spec //(optional) format the Go code according to the Go code standard gofmt -s -w pkg/instana/openapi ``` The generated clients contain comprehensive READMEs, and you can start right away using the client from the example above: ```go import instana \"./pkg/instana/openapi\" // readTags will read all available application monitoring tags along with their type and category func readTags() { configuration := instana.NewConfiguration() configuration.Host = \"tenant-unit.instana.io\" configuration.BasePath = \"https://tenant-unit.instana.io\" client := instana.NewAPIClient(configuration) auth := context.WithValue(context.Background(), instana.ContextAPIKey, instana.APIKey{ Key: apiKey, Prefix: \"apiToken\", }) tags, _, err := client.ApplicationCatalogApi.GetApplicationTagCatalog(auth) if err != nil { fmt.Fatalf(\"Error calling the API, aborting.\") } for _, tag := range tags { fmt.Printf(\"%s (%s): %s\\n\", tag.Category, tag.Type, tag.Name) } } ``` #### Java Follow the instructions provided in the official documentation from [OpenAPI Tools](https://github.com/OpenAPITools) to download the [openapi-generator-cli.jar](https://github.com/OpenAPITools/openapi-generator?tab=readme-ov-file#13---download-jar). Depending on your environment, use one of the following java http client implementations which will create a valid client for our OpenAPI specification: ``` //Nativ Java HTTP Client java -jar openapi-generator-cli.jar generate -i https://instana.github.io/openapi/openapi.yaml -g java -o pkg/instana/openapi --skip-validate-spec -p dateLibrary=java8 --library native //Spring WebClient java -jar openapi-generator-cli.jar generate -i https://instana.github.io/openapi/openapi.yaml -g java -o pkg/instana/openapi --skip-validate-spec -p dateLibrary=java8,hideGenerationTimestamp=true --library webclient //Spring RestTemplate java -jar openapi-generator-cli.jar generate -i https://instana.github.io/openapi/openapi.yaml -g java -o pkg/instana/openapi --skip-validate-spec -p dateLibrary=java8,hideGenerationTimestamp=true --library resttemplate ```
6
+ Documentation for INSTANA REST API
7
7
 
8
- The version of the OpenAPI document: 1.291.1002
8
+ The version of the OpenAPI document: 1.309.1268
9
9
  Contact: support@instana.com
10
10
  Generated by OpenAPI Generator (https://openapi-generator.tech)
11
11
 
@@ -28,7 +28,7 @@ from typing_extensions import Self
28
28
  from typing import TYPE_CHECKING
29
29
  if TYPE_CHECKING:
30
30
  from instana_client.models.browser_script_configuration import BrowserScriptConfiguration
31
- from instana_client.models.dns_action_configuration import DNSActionConfiguration
31
+ from instana_client.models.dns_configuration import DNSConfiguration
32
32
  from instana_client.models.http_action_configuration import HttpActionConfiguration
33
33
  from instana_client.models.http_script_configuration import HttpScriptConfiguration
34
34
  from instana_client.models.empty_configuration import EmptyConfiguration
@@ -38,7 +38,7 @@ if TYPE_CHECKING:
38
38
 
39
39
  class SyntheticTypeConfiguration(BaseModel):
40
40
  """
41
- Synthetic test configuration that is unique to a synthetic type. Valid types are BrowserScript, HTTPAction, HTTPScript, SSLCertificate, WebpageAction, and WebpageScript.
41
+ Synthetic test configuration that is unique to a synthetic type. Valid types are BrowserScript, DNS, HTTPAction, HTTPScript, SSLCertificate, WebpageAction, and WebpageScript.
42
42
  """ # noqa: E501
43
43
  mark_synthetic_call: StrictBool = Field(alias="markSyntheticCall")
44
44
  retries: Optional[Annotated[int, Field(le=2, strict=True, ge=0)]] = None
@@ -50,8 +50,8 @@ class SyntheticTypeConfiguration(BaseModel):
50
50
  @field_validator('synthetic_type')
51
51
  def synthetic_type_validate_enum(cls, value):
52
52
  """Validates the enum"""
53
- if value not in set(['BrowserScript', 'DNSAction', 'HTTPAction', 'HTTPScript', 'SSLCertificate', 'WebpageAction', 'WebpageScript', 'NotConfigured']):
54
- raise ValueError("must be one of enum values ('BrowserScript', 'DNSAction', 'HTTPAction', 'HTTPScript', 'SSLCertificate', 'WebpageAction', 'WebpageScript', 'NotConfigured')")
53
+ if value not in set(['BrowserScript', 'DNS', 'HTTPAction', 'HTTPScript', 'SSLCertificate', 'WebpageAction', 'WebpageScript', 'NotConfigured']):
54
+ raise ValueError("must be one of enum values ('BrowserScript', 'DNS', 'HTTPAction', 'HTTPScript', 'SSLCertificate', 'WebpageAction', 'WebpageScript', 'NotConfigured')")
55
55
  return value
56
56
 
57
57
  model_config = ConfigDict(
@@ -66,7 +66,7 @@ class SyntheticTypeConfiguration(BaseModel):
66
66
 
67
67
  # discriminator mappings
68
68
  __discriminator_value_class_map: ClassVar[Dict[str, str]] = {
69
- 'BrowserScript': 'BrowserScriptConfiguration','DNSAction': 'DNSActionConfiguration','HTTPAction': 'HttpActionConfiguration','HTTPScript': 'HttpScriptConfiguration','NotConfigured': 'EmptyConfiguration','SSLCertificate': 'SSLCertificateConfiguration','WebpageAction': 'WebpageActionConfiguration','WebpageScript': 'WebpageScriptConfiguration'
69
+ 'BrowserScript': 'BrowserScriptConfiguration','DNS': 'DNSConfiguration','HTTPAction': 'HttpActionConfiguration','HTTPScript': 'HttpScriptConfiguration','NotConfigured': 'EmptyConfiguration','SSLCertificate': 'SSLCertificateConfiguration','WebpageAction': 'WebpageActionConfiguration','WebpageScript': 'WebpageScriptConfiguration'
70
70
  }
71
71
 
72
72
  @classmethod
@@ -88,7 +88,7 @@ class SyntheticTypeConfiguration(BaseModel):
88
88
  return json.dumps(self.to_dict())
89
89
 
90
90
  @classmethod
91
- def from_json(cls, json_str: str) -> Optional[Union[BrowserScriptConfiguration, DNSActionConfiguration, HttpActionConfiguration, HttpScriptConfiguration, EmptyConfiguration, SSLCertificateConfiguration, WebpageActionConfiguration, WebpageScriptConfiguration]]:
91
+ def from_json(cls, json_str: str) -> Optional[Union[BrowserScriptConfiguration, DNSConfiguration, HttpActionConfiguration, HttpScriptConfiguration, EmptyConfiguration, SSLCertificateConfiguration, WebpageActionConfiguration, WebpageScriptConfiguration]]:
92
92
  """Create an instance of SyntheticTypeConfiguration from a JSON string"""
93
93
  return cls.from_dict(json.loads(json_str))
94
94
 
@@ -113,14 +113,14 @@ class SyntheticTypeConfiguration(BaseModel):
113
113
  return _dict
114
114
 
115
115
  @classmethod
116
- def from_dict(cls, obj: Dict[str, Any]) -> Optional[Union[BrowserScriptConfiguration, DNSActionConfiguration, HttpActionConfiguration, HttpScriptConfiguration, EmptyConfiguration, SSLCertificateConfiguration, WebpageActionConfiguration, WebpageScriptConfiguration]]:
116
+ def from_dict(cls, obj: Dict[str, Any]) -> Optional[Union[BrowserScriptConfiguration, DNSConfiguration, HttpActionConfiguration, HttpScriptConfiguration, EmptyConfiguration, SSLCertificateConfiguration, WebpageActionConfiguration, WebpageScriptConfiguration]]:
117
117
  """Create an instance of SyntheticTypeConfiguration from a dict"""
118
118
  # look up the object type based on discriminator mapping
119
119
  object_type = cls.get_discriminator_value(obj)
120
120
  if object_type == 'BrowserScriptConfiguration':
121
121
  return import_module("instana_client.models.browser_script_configuration").BrowserScriptConfiguration.from_dict(obj)
122
- if object_type == 'DNSActionConfiguration':
123
- return import_module("instana_client.models.dns_action_configuration").DNSActionConfiguration.from_dict(obj)
122
+ if object_type == 'DNSConfiguration':
123
+ return import_module("instana_client.models.dns_configuration").DNSConfiguration.from_dict(obj)
124
124
  if object_type == 'HttpActionConfiguration':
125
125
  return import_module("instana_client.models.http_action_configuration").HttpActionConfiguration.from_dict(obj)
126
126
  if object_type == 'HttpScriptConfiguration':
@@ -0,0 +1,152 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Instana REST API documentation
5
+
6
+ Documentation for INSTANA REST API
7
+
8
+ The version of the OpenAPI document: 1.309.1268
9
+ Contact: support@instana.com
10
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
11
+
12
+ Do not edit the class manually.
13
+ """ # noqa: E501
14
+
15
+
16
+ from __future__ import annotations
17
+ import pprint
18
+ import re # noqa: F401
19
+ import json
20
+
21
+ from importlib import import_module
22
+ from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator
23
+ from typing import Any, ClassVar, Dict, List, Optional, Union
24
+ from typing_extensions import Annotated
25
+ from typing import Optional, Set
26
+ from typing_extensions import Self
27
+
28
+ from typing import TYPE_CHECKING
29
+ if TYPE_CHECKING:
30
+ from instana_client.models.browser_script_configuration_update import BrowserScriptConfigurationUpdate
31
+ from instana_client.models.dns_configuration_update import DNSConfigurationUpdate
32
+ from instana_client.models.http_action_configuration_update import HttpActionConfigurationUpdate
33
+ from instana_client.models.http_script_configuration_update import HttpScriptConfigurationUpdate
34
+ from instana_client.models.ssl_certificate_configuration_update import SSLCertificateConfigurationUpdate
35
+ from instana_client.models.webpage_action_configuration_update import WebpageActionConfigurationUpdate
36
+ from instana_client.models.webpage_script_configuration_update import WebpageScriptConfigurationUpdate
37
+
38
+ class SyntheticTypeConfigurationUpdate(BaseModel):
39
+ """
40
+ Synthetic test configuration that is unique to a synthetic type. Valid types are BrowserScript, DNS, HTTPAction, HTTPScript, SSLCertificate, WebpageAction, and WebpageScript.
41
+ """ # noqa: E501
42
+ mark_synthetic_call: Optional[StrictBool] = Field(default=None, alias="markSyntheticCall")
43
+ retries: Optional[Annotated[int, Field(le=2, strict=True, ge=0)]] = None
44
+ retry_interval: Optional[Annotated[int, Field(le=10, strict=True, ge=1)]] = Field(default=None, alias="retryInterval")
45
+ synthetic_test: Optional[StrictStr] = Field(default=None, alias="syntheticTest")
46
+ synthetic_type: Optional[StrictStr] = Field(default=None, alias="syntheticType")
47
+ timeout: Optional[StrictStr] = None
48
+ __properties: ClassVar[List[str]] = ["markSyntheticCall", "retries", "retryInterval", "syntheticTest", "syntheticType", "timeout"]
49
+
50
+ @field_validator('synthetic_test')
51
+ def synthetic_test_validate_enum(cls, value):
52
+ """Validates the enum"""
53
+ if value is None:
54
+ return value
55
+
56
+ if value not in set(['BrowserScript', 'DNS', 'HTTPAction', 'HTTPScript', 'SSLCertificate', 'WebpageAction', 'WebpageScript', 'NotConfigured']):
57
+ raise ValueError("must be one of enum values ('BrowserScript', 'DNS', 'HTTPAction', 'HTTPScript', 'SSLCertificate', 'WebpageAction', 'WebpageScript', 'NotConfigured')")
58
+ return value
59
+
60
+ @field_validator('synthetic_type')
61
+ def synthetic_type_validate_enum(cls, value):
62
+ """Validates the enum"""
63
+ if value is None:
64
+ return value
65
+
66
+ if value not in set(['BrowserScript', 'DNS', 'HTTPAction', 'HTTPScript', 'SSLCertificate', 'WebpageAction', 'WebpageScript', 'NotConfigured']):
67
+ raise ValueError("must be one of enum values ('BrowserScript', 'DNS', 'HTTPAction', 'HTTPScript', 'SSLCertificate', 'WebpageAction', 'WebpageScript', 'NotConfigured')")
68
+ return value
69
+
70
+ model_config = ConfigDict(
71
+ populate_by_name=True,
72
+ validate_assignment=True,
73
+ protected_namespaces=(),
74
+ )
75
+
76
+
77
+ # JSON field name that stores the object type
78
+ __discriminator_property_name: ClassVar[str] = 'syntheticType'
79
+
80
+ # discriminator mappings
81
+ __discriminator_value_class_map: ClassVar[Dict[str, str]] = {
82
+ 'BrowserScript': 'BrowserScriptConfigurationUpdate','DNS': 'DNSConfigurationUpdate','HTTPAction': 'HttpActionConfigurationUpdate','HTTPScript': 'HttpScriptConfigurationUpdate','SSLCertificate': 'SSLCertificateConfigurationUpdate','WebpageAction': 'WebpageActionConfigurationUpdate','WebpageScript': 'WebpageScriptConfigurationUpdate'
83
+ }
84
+
85
+ @classmethod
86
+ def get_discriminator_value(cls, obj: Dict[str, Any]) -> Optional[str]:
87
+ """Returns the discriminator value (object type) of the data"""
88
+ discriminator_value = obj[cls.__discriminator_property_name]
89
+ if discriminator_value:
90
+ return cls.__discriminator_value_class_map.get(discriminator_value)
91
+ else:
92
+ return None
93
+
94
+ def to_str(self) -> str:
95
+ """Returns the string representation of the model using alias"""
96
+ return pprint.pformat(self.model_dump(by_alias=True))
97
+
98
+ def to_json(self) -> str:
99
+ """Returns the JSON representation of the model using alias"""
100
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
101
+ return json.dumps(self.to_dict())
102
+
103
+ @classmethod
104
+ def from_json(cls, json_str: str) -> Optional[Union[BrowserScriptConfigurationUpdate, DNSConfigurationUpdate, HttpActionConfigurationUpdate, HttpScriptConfigurationUpdate, SSLCertificateConfigurationUpdate, WebpageActionConfigurationUpdate, WebpageScriptConfigurationUpdate]]:
105
+ """Create an instance of SyntheticTypeConfigurationUpdate from a JSON string"""
106
+ return cls.from_dict(json.loads(json_str))
107
+
108
+ def to_dict(self) -> Dict[str, Any]:
109
+ """Return the dictionary representation of the model using alias.
110
+
111
+ This has the following differences from calling pydantic's
112
+ `self.model_dump(by_alias=True)`:
113
+
114
+ * `None` is only added to the output dict for nullable fields that
115
+ were set at model initialization. Other fields with value `None`
116
+ are ignored.
117
+ """
118
+ excluded_fields: Set[str] = set([
119
+ ])
120
+
121
+ _dict = self.model_dump(
122
+ by_alias=True,
123
+ exclude=excluded_fields,
124
+ exclude_none=True,
125
+ )
126
+ return _dict
127
+
128
+ @classmethod
129
+ def from_dict(cls, obj: Dict[str, Any]) -> Optional[Union[BrowserScriptConfigurationUpdate, DNSConfigurationUpdate, HttpActionConfigurationUpdate, HttpScriptConfigurationUpdate, SSLCertificateConfigurationUpdate, WebpageActionConfigurationUpdate, WebpageScriptConfigurationUpdate]]:
130
+ """Create an instance of SyntheticTypeConfigurationUpdate from a dict"""
131
+ # look up the object type based on discriminator mapping
132
+ object_type = cls.get_discriminator_value(obj)
133
+ if object_type == 'BrowserScriptConfigurationUpdate':
134
+ return import_module("instana_client.models.browser_script_configuration_update").BrowserScriptConfigurationUpdate.from_dict(obj)
135
+ if object_type == 'DNSConfigurationUpdate':
136
+ return import_module("instana_client.models.dns_configuration_update").DNSConfigurationUpdate.from_dict(obj)
137
+ if object_type == 'HttpActionConfigurationUpdate':
138
+ return import_module("instana_client.models.http_action_configuration_update").HttpActionConfigurationUpdate.from_dict(obj)
139
+ if object_type == 'HttpScriptConfigurationUpdate':
140
+ return import_module("instana_client.models.http_script_configuration_update").HttpScriptConfigurationUpdate.from_dict(obj)
141
+ if object_type == 'SSLCertificateConfigurationUpdate':
142
+ return import_module("instana_client.models.ssl_certificate_configuration_update").SSLCertificateConfigurationUpdate.from_dict(obj)
143
+ if object_type == 'WebpageActionConfigurationUpdate':
144
+ return import_module("instana_client.models.webpage_action_configuration_update").WebpageActionConfigurationUpdate.from_dict(obj)
145
+ if object_type == 'WebpageScriptConfigurationUpdate':
146
+ return import_module("instana_client.models.webpage_script_configuration_update").WebpageScriptConfigurationUpdate.from_dict(obj)
147
+
148
+ raise ValueError("SyntheticTypeConfigurationUpdate failed to lookup discriminator value from " +
149
+ json.dumps(obj) + ". Discriminator property name: " + cls.__discriminator_property_name +
150
+ ", mapping: " + json.dumps(cls.__discriminator_value_class_map))
151
+
152
+
@@ -3,9 +3,9 @@
3
3
  """
4
4
  Instana REST API documentation
5
5
 
6
- Searching for answers and best pratices? Check our [IBM Instana Community](https://community.ibm.com/community/user/aiops/communities/community-home?CommunityKey=58f324a3-3104-41be-9510-5b7c413cc48f). ## Overview The Instana REST API provides programmatic access to the Instana platform. It can be used to retrieve data available through the Instana UI Dashboard -- metrics, events, traces, etc -- and also to automate configuration tasks such as user management. ### Navigating the API documentation The API endpoints are grouped by product area and functionality. This generally maps to how our UI Dashboard is organized, hopefully making it easier to locate which endpoints you'd use to fetch the data you see visualized in our UI. The [UI sections](https://www.ibm.com/docs/en/instana-observability/current?topic=working-user-interface#navigation-menu) include: - Websites & Mobile Apps - Applications - Infrastructure - Synthetic Monitoring - Events - Automation - Service Levels - Settings - etc ### Rate Limiting A rate limit is applied to API usage. Up to 5,000 calls per hour can be made. How many remaining calls can be made and when this call limit resets, can inspected via three headers that are part of the responses of the API server. - **X-RateLimit-Limit:** Shows the maximum number of calls that may be executed per hour. - **X-RateLimit-Remaining:** How many calls may still be executed within the current hour. - **X-RateLimit-Reset:** Time when the remaining calls will be reset to the limit. For compatibility reasons with other rate limited APIs, this date is not the date in milliseconds, but instead in seconds since 1970-01-01T00:00:00+00:00. ### Further Reading We provide additional documentation for our REST API in our [product documentation](https://www.ibm.com/docs/en/instana-observability/current?topic=apis-web-rest-api). Here you'll also find some common queries for retrieving data and configuring Instana. ## Getting Started with the REST API ### API base URL The base URL for an specific instance of Instana can be determined using the tenant and unit information. - `base`: This is the base URL of a tenant unit, e.g. `https://test-example.instana.io`. This is the same URL that is used to access the Instana user interface. - `apiToken`: Requests against the Instana API require valid API tokens. An initial API token can be generated via the Instana user interface. Any additional API tokens can be generated via the API itself. ### Curl Example Here is an Example to use the REST API with Curl. First lets get all the available metrics with possible aggregations with a GET call. ```bash curl --request GET \\ --url https://test-instana.instana.io/api/application-monitoring/catalog/metrics \\ --header 'authorization: apiToken xxxxxxxxxxxxxxxx' ``` Next we can get every call grouped by the endpoint name that has an error count greater then zero. As a metric we could get the mean error rate for example. ```bash curl --request POST \\ --url https://test-instana.instana.io/api/application-monitoring/analyze/call-groups \\ --header 'authorization: apiToken xxxxxxxxxxxxxxxx' \\ --header 'content-type: application/json' \\ --data '{ \"group\":{ \"groupbyTag\":\"endpoint.name\" }, \"tagFilters\":[ { \"name\":\"call.error.count\", \"value\":\"0\", \"operator\":\"GREATER_THAN\" } ], \"metrics\":[ { \"metric\":\"errors\", \"aggregation\":\"MEAN\" } ] }' ``` ### Generating REST API clients The API is specified using the [OpenAPI v3](https://github.com/OAI/OpenAPI-Specification) (previously known as Swagger) format. You can download the current specification at our [GitHub API documentation](https://instana.github.io/openapi/openapi.yaml). OpenAPI tries to solve the issue of ever-evolving APIs and clients lagging behind. Please make sure that you always use the latest version of the generator, as a number of improvements are regularly made. To generate a client library for your language, you can use the [OpenAPI client generators](https://github.com/OpenAPITools/openapi-generator). #### Go For example, to generate a client library for Go to interact with our backend, you can use the following script; mind replacing the values of the `UNIT_NAME` and `TENANT_NAME` environment variables using those for your tenant unit: ```bash #!/bin/bash ### This script assumes you have the `java` and `wget` commands on the path export UNIT_NAME='myunit' # for example: prod export TENANT_NAME='mytenant' # for example: awesomecompany //Download the generator to your current working directory: wget https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/4.3.1/openapi-generator-cli-4.3.1.jar -O openapi-generator-cli.jar --server-variables \"tenant=${TENANT_NAME},unit=${UNIT_NAME}\" //generate a client library that you can vendor into your repository java -jar openapi-generator-cli.jar generate -i https://instana.github.io/openapi/openapi.yaml -g go \\ -o pkg/instana/openapi \\ --skip-validate-spec //(optional) format the Go code according to the Go code standard gofmt -s -w pkg/instana/openapi ``` The generated clients contain comprehensive READMEs, and you can start right away using the client from the example above: ```go import instana \"./pkg/instana/openapi\" // readTags will read all available application monitoring tags along with their type and category func readTags() { configuration := instana.NewConfiguration() configuration.Host = \"tenant-unit.instana.io\" configuration.BasePath = \"https://tenant-unit.instana.io\" client := instana.NewAPIClient(configuration) auth := context.WithValue(context.Background(), instana.ContextAPIKey, instana.APIKey{ Key: apiKey, Prefix: \"apiToken\", }) tags, _, err := client.ApplicationCatalogApi.GetApplicationTagCatalog(auth) if err != nil { fmt.Fatalf(\"Error calling the API, aborting.\") } for _, tag := range tags { fmt.Printf(\"%s (%s): %s\\n\", tag.Category, tag.Type, tag.Name) } } ``` #### Java Follow the instructions provided in the official documentation from [OpenAPI Tools](https://github.com/OpenAPITools) to download the [openapi-generator-cli.jar](https://github.com/OpenAPITools/openapi-generator?tab=readme-ov-file#13---download-jar). Depending on your environment, use one of the following java http client implementations which will create a valid client for our OpenAPI specification: ``` //Nativ Java HTTP Client java -jar openapi-generator-cli.jar generate -i https://instana.github.io/openapi/openapi.yaml -g java -o pkg/instana/openapi --skip-validate-spec -p dateLibrary=java8 --library native //Spring WebClient java -jar openapi-generator-cli.jar generate -i https://instana.github.io/openapi/openapi.yaml -g java -o pkg/instana/openapi --skip-validate-spec -p dateLibrary=java8,hideGenerationTimestamp=true --library webclient //Spring RestTemplate java -jar openapi-generator-cli.jar generate -i https://instana.github.io/openapi/openapi.yaml -g java -o pkg/instana/openapi --skip-validate-spec -p dateLibrary=java8,hideGenerationTimestamp=true --library resttemplate ```
6
+ Documentation for INSTANA REST API
7
7
 
8
- The version of the OpenAPI document: 1.291.1002
8
+ The version of the OpenAPI document: 1.309.1268
9
9
  Contact: support@instana.com
10
10
  Generated by OpenAPI Generator (https://openapi-generator.tech)
11
11
 
@@ -28,10 +28,9 @@ class SyntheticsEventResult(EventResult):
28
28
  """
29
29
  SyntheticsEventResult
30
30
  """ # noqa: E501
31
- location_ids: Optional[List[StrictStr]] = Field(default=None, alias="locationIds")
32
- probable_root_cause: Optional[Dict[str, Dict[str, Any]]] = Field(default=None, alias="probableRootCause")
33
- synthetic_test_id: Optional[StrictStr] = Field(default=None, alias="syntheticTestId")
34
- __properties: ClassVar[List[str]] = ["detail", "end", "entityLabel", "entityName", "entityType", "eventId", "eventSpecificationId", "fixSuggestion", "metrics", "probableCause", "problem", "recentEvents", "severity", "snapshotId", "start", "state", "type", "locationIds", "probableRootCause", "syntheticTestId"]
31
+ location_ids: Optional[List[StrictStr]] = Field(default=None, description="IDs of the locations.", alias="locationIds")
32
+ synthetic_test_id: Optional[StrictStr] = Field(default=None, description="ID of the synthetic test.", alias="syntheticTestId")
33
+ __properties: ClassVar[List[str]] = ["detail", "end", "entityLabel", "entityName", "entityType", "eventId", "eventSpecificationId", "fixSuggestion", "metrics", "probableCause", "problem", "recentEvents", "severity", "shortCode", "snapshotId", "start", "state", "type", "locationIds", "syntheticTestId"]
35
34
 
36
35
  model_config = ConfigDict(
37
36
  populate_by_name=True,
@@ -97,12 +96,12 @@ class SyntheticsEventResult(EventResult):
97
96
  "problem": obj.get("problem"),
98
97
  "recentEvents": obj.get("recentEvents"),
99
98
  "severity": obj.get("severity"),
99
+ "shortCode": obj.get("shortCode"),
100
100
  "snapshotId": obj.get("snapshotId"),
101
101
  "start": obj.get("start"),
102
102
  "state": obj.get("state"),
103
103
  "type": obj.get("type"),
104
104
  "locationIds": obj.get("locationIds"),
105
- "probableRootCause": obj.get("probableRootCause"),
106
105
  "syntheticTestId": obj.get("syntheticTestId")
107
106
  })
108
107
  return _obj
@@ -3,9 +3,9 @@
3
3
  """
4
4
  Instana REST API documentation
5
5
 
6
- Searching for answers and best pratices? Check our [IBM Instana Community](https://community.ibm.com/community/user/aiops/communities/community-home?CommunityKey=58f324a3-3104-41be-9510-5b7c413cc48f). ## Overview The Instana REST API provides programmatic access to the Instana platform. It can be used to retrieve data available through the Instana UI Dashboard -- metrics, events, traces, etc -- and also to automate configuration tasks such as user management. ### Navigating the API documentation The API endpoints are grouped by product area and functionality. This generally maps to how our UI Dashboard is organized, hopefully making it easier to locate which endpoints you'd use to fetch the data you see visualized in our UI. The [UI sections](https://www.ibm.com/docs/en/instana-observability/current?topic=working-user-interface#navigation-menu) include: - Websites & Mobile Apps - Applications - Infrastructure - Synthetic Monitoring - Events - Automation - Service Levels - Settings - etc ### Rate Limiting A rate limit is applied to API usage. Up to 5,000 calls per hour can be made. How many remaining calls can be made and when this call limit resets, can inspected via three headers that are part of the responses of the API server. - **X-RateLimit-Limit:** Shows the maximum number of calls that may be executed per hour. - **X-RateLimit-Remaining:** How many calls may still be executed within the current hour. - **X-RateLimit-Reset:** Time when the remaining calls will be reset to the limit. For compatibility reasons with other rate limited APIs, this date is not the date in milliseconds, but instead in seconds since 1970-01-01T00:00:00+00:00. ### Further Reading We provide additional documentation for our REST API in our [product documentation](https://www.ibm.com/docs/en/instana-observability/current?topic=apis-web-rest-api). Here you'll also find some common queries for retrieving data and configuring Instana. ## Getting Started with the REST API ### API base URL The base URL for an specific instance of Instana can be determined using the tenant and unit information. - `base`: This is the base URL of a tenant unit, e.g. `https://test-example.instana.io`. This is the same URL that is used to access the Instana user interface. - `apiToken`: Requests against the Instana API require valid API tokens. An initial API token can be generated via the Instana user interface. Any additional API tokens can be generated via the API itself. ### Curl Example Here is an Example to use the REST API with Curl. First lets get all the available metrics with possible aggregations with a GET call. ```bash curl --request GET \\ --url https://test-instana.instana.io/api/application-monitoring/catalog/metrics \\ --header 'authorization: apiToken xxxxxxxxxxxxxxxx' ``` Next we can get every call grouped by the endpoint name that has an error count greater then zero. As a metric we could get the mean error rate for example. ```bash curl --request POST \\ --url https://test-instana.instana.io/api/application-monitoring/analyze/call-groups \\ --header 'authorization: apiToken xxxxxxxxxxxxxxxx' \\ --header 'content-type: application/json' \\ --data '{ \"group\":{ \"groupbyTag\":\"endpoint.name\" }, \"tagFilters\":[ { \"name\":\"call.error.count\", \"value\":\"0\", \"operator\":\"GREATER_THAN\" } ], \"metrics\":[ { \"metric\":\"errors\", \"aggregation\":\"MEAN\" } ] }' ``` ### Generating REST API clients The API is specified using the [OpenAPI v3](https://github.com/OAI/OpenAPI-Specification) (previously known as Swagger) format. You can download the current specification at our [GitHub API documentation](https://instana.github.io/openapi/openapi.yaml). OpenAPI tries to solve the issue of ever-evolving APIs and clients lagging behind. Please make sure that you always use the latest version of the generator, as a number of improvements are regularly made. To generate a client library for your language, you can use the [OpenAPI client generators](https://github.com/OpenAPITools/openapi-generator). #### Go For example, to generate a client library for Go to interact with our backend, you can use the following script; mind replacing the values of the `UNIT_NAME` and `TENANT_NAME` environment variables using those for your tenant unit: ```bash #!/bin/bash ### This script assumes you have the `java` and `wget` commands on the path export UNIT_NAME='myunit' # for example: prod export TENANT_NAME='mytenant' # for example: awesomecompany //Download the generator to your current working directory: wget https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/4.3.1/openapi-generator-cli-4.3.1.jar -O openapi-generator-cli.jar --server-variables \"tenant=${TENANT_NAME},unit=${UNIT_NAME}\" //generate a client library that you can vendor into your repository java -jar openapi-generator-cli.jar generate -i https://instana.github.io/openapi/openapi.yaml -g go \\ -o pkg/instana/openapi \\ --skip-validate-spec //(optional) format the Go code according to the Go code standard gofmt -s -w pkg/instana/openapi ``` The generated clients contain comprehensive READMEs, and you can start right away using the client from the example above: ```go import instana \"./pkg/instana/openapi\" // readTags will read all available application monitoring tags along with their type and category func readTags() { configuration := instana.NewConfiguration() configuration.Host = \"tenant-unit.instana.io\" configuration.BasePath = \"https://tenant-unit.instana.io\" client := instana.NewAPIClient(configuration) auth := context.WithValue(context.Background(), instana.ContextAPIKey, instana.APIKey{ Key: apiKey, Prefix: \"apiToken\", }) tags, _, err := client.ApplicationCatalogApi.GetApplicationTagCatalog(auth) if err != nil { fmt.Fatalf(\"Error calling the API, aborting.\") } for _, tag := range tags { fmt.Printf(\"%s (%s): %s\\n\", tag.Category, tag.Type, tag.Name) } } ``` #### Java Follow the instructions provided in the official documentation from [OpenAPI Tools](https://github.com/OpenAPITools) to download the [openapi-generator-cli.jar](https://github.com/OpenAPITools/openapi-generator?tab=readme-ov-file#13---download-jar). Depending on your environment, use one of the following java http client implementations which will create a valid client for our OpenAPI specification: ``` //Nativ Java HTTP Client java -jar openapi-generator-cli.jar generate -i https://instana.github.io/openapi/openapi.yaml -g java -o pkg/instana/openapi --skip-validate-spec -p dateLibrary=java8 --library native //Spring WebClient java -jar openapi-generator-cli.jar generate -i https://instana.github.io/openapi/openapi.yaml -g java -o pkg/instana/openapi --skip-validate-spec -p dateLibrary=java8,hideGenerationTimestamp=true --library webclient //Spring RestTemplate java -jar openapi-generator-cli.jar generate -i https://instana.github.io/openapi/openapi.yaml -g java -o pkg/instana/openapi --skip-validate-spec -p dateLibrary=java8,hideGenerationTimestamp=true --library resttemplate ```
6
+ Documentation for INSTANA REST API
7
7
 
8
- The version of the OpenAPI document: 1.291.1002
8
+ The version of the OpenAPI document: 1.309.1268
9
9
  Contact: support@instana.com
10
10
  Generated by OpenAPI Generator (https://openapi-generator.tech)
11
11