instana-client 1.0.0__py3-none-any.whl → 1.0.1__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 (586) hide show
  1. instana_client/__init__.py +1754 -514
  2. instana_client/api/__init__.py +85 -1
  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 +17 -17
  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 +21 -21
  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 +2 -2
  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 +1673 -0
  21. instana_client/api/end_user_monitoring_api.py +310 -0
  22. instana_client/api/event_settings_api.py +1251 -653
  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 +1121 -62
  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 +2 -2
  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 +44 -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 +1394 -0
  44. instana_client/api/service_levels_alert_configuration_api.py +2 -2
  45. instana_client/api/service_levels_objective_slo_configurations_api.py +160 -89
  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 +1528 -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 +1238 -369
  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 +302 -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 +11 -4
  66. instana_client/configuration.py +14 -7
  67. instana_client/exceptions.py +2 -2
  68. instana_client/models/__init__.py +585 -9
  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 +29 -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 +5 -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 +121 -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 +102 -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/built_in_event_specification.py +2 -2
  142. instana_client/models/built_in_event_specification_with_last_updated.py +2 -2
  143. instana_client/models/business_activity.py +5 -3
  144. instana_client/models/business_perspective_config.py +2 -2
  145. instana_client/models/call_groups_item.py +2 -2
  146. instana_client/models/call_groups_result.py +2 -2
  147. instana_client/models/call_relation.py +2 -2
  148. instana_client/models/change_summary.py +2 -2
  149. instana_client/models/cloudfoundry_physical_context.py +4 -4
  150. instana_client/models/condition.py +2 -2
  151. instana_client/models/config_version.py +2 -2
  152. instana_client/models/correction.py +105 -0
  153. instana_client/models/correction_configuration.py +109 -0
  154. instana_client/models/correction_scheduling.py +104 -0
  155. instana_client/models/correction_window.py +95 -0
  156. instana_client/models/crash_mobile_app_alert_rule.py +2 -2
  157. instana_client/models/create_website_request_inner.py +90 -0
  158. instana_client/models/cursor_paginated_business_activity_item.py +2 -2
  159. instana_client/models/cursor_pagination.py +2 -2
  160. instana_client/models/cursor_pagination_infra_explore_cursor.py +2 -2
  161. instana_client/models/custom_blueprint_indicator.py +8 -4
  162. instana_client/models/custom_dashboard.py +2 -2
  163. instana_client/models/custom_dashboard_preview.py +2 -2
  164. instana_client/models/custom_dashboard_with_user_specific_information.py +115 -0
  165. instana_client/models/custom_dependency.py +116 -0
  166. instana_client/models/custom_email_subject_prefix.py +2 -2
  167. instana_client/models/custom_entity_model.py +126 -0
  168. instana_client/models/custom_entity_with_metadata.py +98 -0
  169. instana_client/models/custom_event_mobile_app_alert_rule.py +2 -2
  170. instana_client/models/custom_event_specification.py +9 -3
  171. instana_client/models/custom_event_specification_with_last_updated.py +9 -3
  172. instana_client/models/custom_event_website_alert_rule.py +2 -2
  173. instana_client/models/custom_metric.py +134 -0
  174. instana_client/models/custom_payload_configuration.py +2 -2
  175. instana_client/models/custom_payload_field.py +2 -2
  176. instana_client/models/custom_payload_with_last_updated.py +2 -2
  177. instana_client/models/custom_payload_with_version.py +101 -0
  178. instana_client/models/dashboard_api_token.py +2 -2
  179. instana_client/models/database_integration.py +2 -2
  180. instana_client/models/deprecated_tag_filter.py +4 -4
  181. instana_client/models/division.py +97 -0
  182. instana_client/models/dns_configuration.py +146 -0
  183. instana_client/models/dns_filter_query_time.py +99 -0
  184. instana_client/models/dns_filter_target_value.py +106 -0
  185. instana_client/models/duration.py +2 -2
  186. instana_client/models/dynamic_field.py +2 -2
  187. instana_client/models/dynamic_field_value.py +2 -2
  188. instana_client/models/dynamic_parameter.py +2 -2
  189. instana_client/models/edit_user.py +2 -2
  190. instana_client/models/email_integration.py +2 -2
  191. instana_client/models/empty_configuration.py +2 -2
  192. instana_client/models/endpoint.py +4 -4
  193. instana_client/models/endpoint_config.py +2 -2
  194. instana_client/models/endpoint_event_result.py +7 -9
  195. instana_client/models/endpoint_item.py +2 -2
  196. instana_client/models/endpoint_metric_result.py +2 -2
  197. instana_client/models/endpoint_node.py +2 -2
  198. instana_client/models/endpoint_result.py +3 -3
  199. instana_client/models/endpoint_simple.py +3 -3
  200. instana_client/models/entity_count_rule.py +2 -2
  201. instana_client/models/entity_count_verification_rule.py +3 -3
  202. instana_client/models/entity_health_info.py +2 -2
  203. instana_client/models/entity_id.py +2 -2
  204. instana_client/models/entity_verification_rule.py +3 -3
  205. instana_client/models/error_budget_alert_rule.py +5 -5
  206. instana_client/models/errors_application_alert_rule.py +2 -2
  207. instana_client/models/event.py +7 -3
  208. instana_client/models/event_filtering_configuration.py +2 -2
  209. instana_client/models/event_result.py +2 -2
  210. instana_client/models/event_specification_info.py +2 -2
  211. instana_client/models/extended_service.py +2 -2
  212. instana_client/models/failure_synthetic_alert_rule.py +2 -2
  213. instana_client/models/fixed_http_path_segment_matching_rule.py +2 -2
  214. instana_client/models/fixed_time_window.py +4 -3
  215. instana_client/models/generic_infra_alert_rule.py +12 -4
  216. instana_client/models/geo_location_configuration.py +2 -2
  217. instana_client/models/geo_mapping_rule.py +2 -2
  218. instana_client/models/geo_subdivision.py +2 -2
  219. instana_client/models/get_activities.py +2 -2
  220. instana_client/models/get_application_metrics.py +2 -2
  221. instana_client/models/get_applications.py +2 -2
  222. instana_client/models/get_available_metrics_query.py +2 -2
  223. instana_client/models/get_available_plugins_query.py +2 -2
  224. instana_client/models/get_call_groups.py +2 -2
  225. instana_client/models/get_combined_metrics.py +2 -2
  226. instana_client/models/get_dynamic_parameter_values.py +2 -2
  227. instana_client/models/get_endpoints.py +2 -2
  228. instana_client/models/get_infrastructure_groups_query.py +2 -2
  229. instana_client/models/get_infrastructure_query.py +2 -2
  230. instana_client/models/get_metrics_result.py +2 -2
  231. instana_client/models/get_mobile_app_beacon_groups.py +2 -2
  232. instana_client/models/get_mobile_app_beacons.py +2 -2
  233. instana_client/models/get_mobile_app_metrics.py +2 -2
  234. instana_client/models/get_mobile_app_metrics_v2.py +2 -2
  235. instana_client/models/get_payload_keys_result.py +2 -2
  236. instana_client/models/get_services.py +2 -2
  237. instana_client/models/get_snapshots_query.py +2 -2
  238. instana_client/models/get_test_result.py +2 -2
  239. instana_client/models/get_test_result_analytic.py +126 -0
  240. instana_client/models/get_test_result_base.py +2 -2
  241. instana_client/models/get_test_result_list.py +2 -2
  242. instana_client/models/get_test_summary_result.py +2 -2
  243. instana_client/models/get_trace_download_result_item.py +3 -3
  244. instana_client/models/get_trace_groups.py +2 -2
  245. instana_client/models/get_traces.py +4 -4
  246. instana_client/models/get_website_beacon_groups.py +2 -2
  247. instana_client/models/get_website_beacons.py +2 -2
  248. instana_client/models/get_website_metrics.py +2 -2
  249. instana_client/models/get_website_metrics_v2.py +2 -2
  250. instana_client/models/global_application_alert_config_with_metadata.py +2 -2
  251. instana_client/models/global_applications_alert_config.py +2 -2
  252. instana_client/models/google_chat_integration.py +2 -2
  253. instana_client/models/graph_edge.py +2 -2
  254. instana_client/models/graph_node.py +2 -2
  255. instana_client/models/group.py +2 -2
  256. instana_client/models/group_by_tag.py +2 -2
  257. instana_client/models/group_mapping.py +5 -3
  258. instana_client/models/group_mapping_overview.py +96 -0
  259. instana_client/models/health_state.py +2 -2
  260. instana_client/models/historic_baseline.py +3 -3
  261. instana_client/models/host_availability_rule.py +2 -2
  262. instana_client/models/http_action_configuration.py +2 -2
  263. instana_client/models/http_endpoint_config.py +2 -2
  264. instana_client/models/http_endpoint_rule.py +2 -2
  265. instana_client/models/http_path_segment_matching_rule.py +2 -2
  266. instana_client/models/http_script_configuration.py +5 -3
  267. instana_client/models/hyper_param.py +2 -2
  268. instana_client/models/identity_provider_patch.py +2 -2
  269. instana_client/models/impacted_beacon_info.py +96 -0
  270. instana_client/models/infra_alert_config.py +8 -6
  271. instana_client/models/infra_alert_config_with_metadata.py +7 -5
  272. instana_client/models/infra_alert_rule.py +9 -3
  273. instana_client/models/infra_event_result.py +6 -8
  274. instana_client/models/infra_metric_configuration.py +103 -80
  275. instana_client/models/infra_slo_entity.py +95 -0
  276. instana_client/models/infra_time_threshold.py +2 -2
  277. instana_client/models/infrastructure_entities_result.py +2 -2
  278. instana_client/models/infrastructure_group.py +5 -3
  279. instana_client/models/infrastructure_groups_result.py +2 -2
  280. instana_client/models/infrastructure_item.py +2 -2
  281. instana_client/models/infrastructure_metric_result.py +2 -2
  282. instana_client/models/instana_version_info.py +2 -2
  283. instana_client/models/integration_overview.py +14 -4
  284. instana_client/models/invitation.py +2 -2
  285. instana_client/models/invitation_response.py +2 -2
  286. instana_client/models/invitation_result.py +2 -2
  287. instana_client/models/ip_masking_configuration.py +2 -2
  288. instana_client/models/js_stack_trace_line.py +2 -2
  289. instana_client/models/kubernetes_physical_context.py +3 -3
  290. instana_client/models/latency_blueprint_indicator.py +5 -16
  291. instana_client/models/llm_egress_gateway.py +125 -0
  292. instana_client/models/location_status.py +2 -2
  293. instana_client/models/log_alert_config.py +8 -6
  294. instana_client/models/log_alert_config_with_metadata.py +8 -6
  295. instana_client/models/log_alert_rule.py +2 -2
  296. instana_client/models/log_count_alert_rule.py +2 -2
  297. instana_client/models/log_entry_actor.py +2 -2
  298. instana_client/models/log_event_result.py +5 -7
  299. instana_client/models/log_time_threshold.py +2 -2
  300. instana_client/models/log_volume_group.py +91 -0
  301. instana_client/models/log_volume_usage_item.py +101 -0
  302. instana_client/models/log_volume_usage_result.py +96 -0
  303. instana_client/models/logs_application_alert_rule.py +4 -4
  304. instana_client/models/maintenance_config.py +2 -2
  305. instana_client/models/maintenance_config_scheduling.py +2 -2
  306. instana_client/models/maintenance_config_v2.py +2 -2
  307. instana_client/models/maintenance_config_v2_with_state_and_occurrence.py +2 -2
  308. instana_client/models/maintenance_config_with_last_updated.py +2 -2
  309. instana_client/models/maintenance_window.py +2 -2
  310. instana_client/models/manual_alerting_channel_configuration.py +2 -2
  311. instana_client/models/manual_close_info.py +2 -2
  312. instana_client/models/manual_service_config.py +2 -2
  313. instana_client/models/match_all_http_path_segment_matching_rule.py +2 -2
  314. instana_client/models/match_expression_dto.py +3 -3
  315. instana_client/models/meta_data.py +2 -2
  316. instana_client/models/metric_api_result.py +2 -2
  317. instana_client/models/metric_config.py +2 -2
  318. instana_client/models/metric_configuration.py +3 -3
  319. instana_client/models/metric_description.py +2 -2
  320. instana_client/models/metric_instance.py +2 -2
  321. instana_client/models/metric_item.py +2 -2
  322. instana_client/models/metric_metadata.py +4 -4
  323. instana_client/models/metric_pattern.py +2 -2
  324. instana_client/models/metric_query.py +128 -0
  325. instana_client/models/metrics_result.py +2 -2
  326. instana_client/models/metrics_result_item.py +5 -3
  327. instana_client/models/metrics_test_result_item.py +2 -2
  328. instana_client/models/mobile_app.py +2 -2
  329. instana_client/models/mobile_app_alert_config.py +2 -2
  330. instana_client/models/mobile_app_alert_rule.py +8 -5
  331. instana_client/models/mobile_app_beacon_groups_item.py +2 -2
  332. instana_client/models/mobile_app_beacon_groups_result.py +2 -2
  333. instana_client/models/mobile_app_beacon_result.py +2 -2
  334. instana_client/models/mobile_app_beacon_tag_group.py +2 -2
  335. instana_client/models/mobile_app_beacons_item.py +11 -5
  336. instana_client/models/mobile_app_event_result.py +5 -7
  337. instana_client/models/mobile_app_metric_result.py +2 -2
  338. instana_client/models/mobile_app_monitoring_beacon.py +22 -4
  339. instana_client/models/mobile_app_monitoring_metric_description.py +5 -3
  340. instana_client/models/mobile_app_monitoring_metrics_configuration.py +2 -2
  341. instana_client/models/mobile_app_time_threshold.py +2 -2
  342. instana_client/models/model_field.py +2 -2
  343. instana_client/models/monitored_entities_stats.py +92 -0
  344. instana_client/models/monitoring_state.py +11 -3
  345. instana_client/models/multiple_scripts_configuration.py +2 -2
  346. instana_client/models/multiplication.py +97 -0
  347. instana_client/models/nested_operation.py +128 -0
  348. instana_client/models/new_application_config.py +2 -2
  349. instana_client/models/new_business_perspective_config.py +2 -2
  350. instana_client/models/new_manual_service_config.py +2 -2
  351. instana_client/models/o_auth_config.py +107 -0
  352. instana_client/models/o_auth_integration.py +98 -0
  353. instana_client/models/o_auth_token.py +121 -0
  354. instana_client/models/occurrence.py +2 -2
  355. instana_client/models/office365_integration.py +2 -2
  356. instana_client/models/one_time_maintenance_window.py +2 -2
  357. instana_client/models/opsgenie_integration.py +2 -2
  358. instana_client/models/order.py +2 -2
  359. instana_client/models/pagerduty_integration.py +2 -2
  360. instana_client/models/paginated_result.py +2 -2
  361. instana_client/models/pagination.py +2 -2
  362. instana_client/models/parameter.py +2 -2
  363. instana_client/models/parameter_value.py +2 -2
  364. instana_client/models/path_parameter_http_path_segment_matching_rule.py +2 -2
  365. instana_client/models/physical_context.py +3 -3
  366. instana_client/models/plugin_result.py +2 -2
  367. instana_client/models/policy.py +2 -2
  368. instana_client/models/policy_runnable.py +2 -2
  369. instana_client/models/policy_scheduling.py +91 -0
  370. instana_client/models/post_mobile_app_source_map_config_request.py +88 -0
  371. instana_client/models/post_snapshots_result.py +2 -2
  372. instana_client/models/problem.py +2 -2
  373. instana_client/models/prometheus_webhook_integration.py +2 -2
  374. instana_client/models/recurrent_maintenance_window.py +2 -2
  375. instana_client/models/release.py +6 -6
  376. instana_client/models/release_scope.py +2 -2
  377. instana_client/models/release_with_metadata.py +8 -8
  378. instana_client/models/retention_period.py +101 -0
  379. instana_client/models/rolling_time_window.py +4 -3
  380. instana_client/models/rule_input.py +2 -2
  381. instana_client/models/rule_with_threshold_application_alert_rule.py +2 -2
  382. instana_client/models/rule_with_threshold_infra_alert_rule.py +2 -2
  383. instana_client/models/rule_with_threshold_log_alert_rule.py +2 -2
  384. instana_client/models/rule_with_threshold_mobile_app_alert_rule.py +2 -2
  385. instana_client/models/rule_with_threshold_website_alert_rule.py +2 -2
  386. instana_client/models/run_configuration.py +2 -2
  387. instana_client/models/salesforce_integration.py +2 -2
  388. instana_client/models/saturation_blueprint_indicator.py +97 -0
  389. instana_client/models/scope_binding.py +2 -2
  390. instana_client/models/search_field_result.py +2 -2
  391. instana_client/models/service.py +3 -3
  392. instana_client/models/service_config.py +2 -2
  393. instana_client/models/service_event_result.py +5 -7
  394. instana_client/models/service_item.py +2 -2
  395. instana_client/models/service_level_indicator.py +10 -7
  396. instana_client/models/service_level_objective_alert_rule.py +2 -2
  397. instana_client/models/service_level_objective_configuration.py +3 -3
  398. instana_client/models/service_levels_alert_config.py +15 -5
  399. instana_client/models/service_levels_alert_rule.py +2 -2
  400. instana_client/models/service_levels_burn_rate_config.py +115 -0
  401. instana_client/models/service_levels_burn_rate_time_windows.py +2 -2
  402. instana_client/models/service_levels_static_threshold_config.py +100 -0
  403. instana_client/models/service_levels_time_threshold.py +5 -5
  404. instana_client/models/service_levelse_alert_config_with_metadata.py +15 -5
  405. instana_client/models/service_map.py +2 -2
  406. instana_client/models/service_map_connection.py +2 -2
  407. instana_client/models/service_matching_rule.py +2 -2
  408. instana_client/models/service_metric_result.py +2 -2
  409. instana_client/models/service_node.py +2 -2
  410. instana_client/models/service_now_enhanced_integration.py +2 -2
  411. instana_client/models/service_now_integration.py +2 -2
  412. instana_client/models/service_result.py +3 -3
  413. instana_client/models/service_scope.py +4 -4
  414. instana_client/models/service_scope_with_metadata.py +5 -5
  415. instana_client/models/service_scoped_to.py +3 -3
  416. instana_client/models/service_scoped_to_with_metadata.py +4 -4
  417. instana_client/models/service_simple.py +2 -2
  418. instana_client/models/session_settings.py +4 -4
  419. instana_client/models/simple_metric_configuration.py +121 -0
  420. instana_client/models/single_value.py +128 -0
  421. instana_client/models/slack_integration.py +2 -2
  422. instana_client/models/sli_configuration.py +2 -2
  423. instana_client/models/sli_configuration_with_last_updated.py +2 -2
  424. instana_client/models/sli_entity.py +2 -2
  425. instana_client/models/sli_report.py +2 -2
  426. instana_client/models/slo_config_with_rbac_tag.py +128 -0
  427. instana_client/models/slo_entity.py +8 -5
  428. instana_client/models/slo_report.py +2 -2
  429. instana_client/models/slowness_application_alert_rule.py +2 -2
  430. instana_client/models/slowness_mobile_app_alert_rule.py +90 -0
  431. instana_client/models/slowness_website_alert_rule.py +2 -2
  432. instana_client/models/snapshot_item.py +2 -2
  433. instana_client/models/snapshot_preview.py +7 -7
  434. instana_client/models/snapshot_result.py +2 -2
  435. instana_client/models/software_user.py +2 -2
  436. instana_client/models/software_version.py +2 -2
  437. instana_client/models/source_map_file_blob.py +2 -2
  438. instana_client/models/source_map_file_meta.py +2 -2
  439. instana_client/models/source_map_upload_config.py +2 -2
  440. instana_client/models/source_map_upload_configs.py +106 -0
  441. instana_client/models/span_excerpt.py +12 -12
  442. instana_client/models/span_relation.py +3 -3
  443. instana_client/models/specific_js_errors_website_alert_rule.py +4 -4
  444. instana_client/models/splunk_integration.py +2 -2
  445. instana_client/models/ssl_certificate_configuration.py +17 -5
  446. instana_client/models/ssl_certificate_validation.py +99 -0
  447. instana_client/models/stack_trace_item.py +7 -7
  448. instana_client/models/stack_trace_line.py +2 -2
  449. instana_client/models/static_baseline_threshold_rule.py +3 -3
  450. instana_client/models/static_string_field.py +2 -2
  451. instana_client/models/static_threshold.py +2 -2
  452. instana_client/models/static_threshold_rule.py +2 -2
  453. instana_client/models/status_code_application_alert_rule.py +2 -2
  454. instana_client/models/status_code_mobile_app_alert_rule.py +4 -4
  455. instana_client/models/status_code_website_alert_rule.py +4 -4
  456. instana_client/models/subtraction.py +97 -0
  457. instana_client/models/synthetic_alert_config.py +2 -2
  458. instana_client/models/synthetic_alert_config_with_metadata.py +2 -2
  459. instana_client/models/synthetic_alert_rule.py +2 -2
  460. instana_client/models/synthetic_call_config.py +4 -4
  461. instana_client/models/synthetic_call_rule.py +6 -6
  462. instana_client/models/synthetic_call_with_defaults_config.py +4 -4
  463. instana_client/models/synthetic_configuration.py +93 -0
  464. instana_client/models/synthetic_credential.py +23 -3
  465. instana_client/models/synthetic_datacenter.py +2 -2
  466. instana_client/models/synthetic_datacenter_configuration.py +2 -2
  467. instana_client/models/synthetic_geo_point.py +2 -2
  468. instana_client/models/synthetic_location.py +2 -2
  469. instana_client/models/synthetic_location_configuration.py +2 -2
  470. instana_client/models/synthetic_metric_configuration.py +2 -2
  471. instana_client/models/synthetic_metric_tag_group.py +2 -2
  472. instana_client/models/synthetic_playback_capabilities.py +17 -4
  473. instana_client/models/synthetic_slo_entity.py +7 -5
  474. instana_client/models/synthetic_test.py +27 -3
  475. instana_client/models/synthetic_test_cicd.py +96 -0
  476. instana_client/models/synthetic_test_cicd_customization.py +96 -0
  477. instana_client/models/synthetic_test_cicd_item.py +114 -0
  478. instana_client/models/synthetic_test_cicd_response.py +92 -0
  479. instana_client/models/synthetic_time_threshold.py +2 -2
  480. instana_client/models/synthetic_type_configuration.py +11 -11
  481. instana_client/models/synthetics_event_result.py +5 -7
  482. instana_client/models/system_rule.py +2 -2
  483. instana_client/models/system_rule_label.py +2 -2
  484. instana_client/models/tag.py +6 -6
  485. instana_client/models/tag_catalog.py +2 -2
  486. instana_client/models/tag_filter.py +4 -4
  487. instana_client/models/tag_filter_expression.py +2 -2
  488. instana_client/models/tag_filter_expression_element.py +2 -2
  489. instana_client/models/tag_matcher_dto.py +2 -2
  490. instana_client/models/tag_tree_level.py +2 -2
  491. instana_client/models/tag_tree_node.py +2 -2
  492. instana_client/models/tag_tree_tag.py +2 -2
  493. instana_client/models/test_common_properties.py +2 -2
  494. instana_client/models/test_last_error.py +90 -0
  495. instana_client/models/test_result.py +2 -2
  496. instana_client/models/test_result_common_properties.py +24 -3
  497. instana_client/models/test_result_detail_data.py +2 -2
  498. instana_client/models/test_result_item.py +2 -2
  499. instana_client/models/test_result_list_item.py +2 -2
  500. instana_client/models/test_result_list_result.py +2 -2
  501. instana_client/models/test_result_metadata.py +2 -2
  502. instana_client/models/test_result_subtransaction.py +2 -2
  503. instana_client/models/threshold.py +2 -2
  504. instana_client/models/threshold_config_rule.py +2 -2
  505. instana_client/models/threshold_rule.py +2 -2
  506. instana_client/models/throughput_application_alert_rule.py +2 -2
  507. instana_client/models/throughput_mobile_app_alert_rule.py +2 -2
  508. instana_client/models/throughput_website_alert_rule.py +2 -2
  509. instana_client/models/time_frame.py +2 -2
  510. instana_client/models/time_window.py +5 -4
  511. instana_client/models/topology.py +2 -2
  512. instana_client/models/trace.py +8 -8
  513. instana_client/models/trace_activity_tree_node_details.py +13 -13
  514. instana_client/models/trace_download_result.py +2 -2
  515. instana_client/models/trace_groups_item.py +2 -2
  516. instana_client/models/trace_groups_result.py +2 -2
  517. instana_client/models/trace_impact_application_time_threshold.py +2 -2
  518. instana_client/models/trace_item.py +2 -2
  519. instana_client/models/trace_result.py +2 -2
  520. instana_client/models/traffic_blueprint_indicator.py +3 -3
  521. instana_client/models/trigger.py +15 -7
  522. instana_client/models/type_configuration.py +2 -2
  523. instana_client/models/unsupported_http_path_segment_matching_rule.py +2 -2
  524. instana_client/models/updated_business_perspective_config.py +2 -2
  525. instana_client/models/usage_result.py +2 -2
  526. instana_client/models/usage_result_items.py +2 -2
  527. instana_client/models/user_basic_result.py +2 -2
  528. instana_client/models/user_impact_mobile_app_time_threshold.py +3 -3
  529. instana_client/models/user_impact_website_time_threshold.py +3 -3
  530. instana_client/models/user_result.py +2 -2
  531. instana_client/models/users_result.py +2 -2
  532. instana_client/models/validated_alerting_channel_input_info.py +4 -4
  533. instana_client/models/validated_alerting_configuration.py +2 -2
  534. instana_client/models/validated_maintenance_config_v2_with_state_and_occurrence.py +2 -2
  535. instana_client/models/validated_maintenance_config_with_status.py +2 -2
  536. instana_client/models/victor_ops_integration.py +2 -2
  537. instana_client/models/violations_in_period_application_time_threshold.py +2 -2
  538. instana_client/models/violations_in_period_mobile_app_time_threshold.py +2 -2
  539. instana_client/models/violations_in_period_website_time_threshold.py +2 -2
  540. instana_client/models/violations_in_sequence_application_time_threshold.py +2 -2
  541. instana_client/models/violations_in_sequence_infra_time_threshold.py +2 -2
  542. instana_client/models/violations_in_sequence_log_time_threshold.py +2 -2
  543. instana_client/models/violations_in_sequence_mobile_app_time_threshold.py +2 -2
  544. instana_client/models/violations_in_sequence_synthetic_time_threshold.py +2 -2
  545. instana_client/models/violations_in_sequence_website_time_threshold.py +2 -2
  546. instana_client/models/watson_ai_ops_webhook_integration.py +2 -2
  547. instana_client/models/webex_teams_webhook_integration.py +2 -2
  548. instana_client/models/webhook_integration.py +14 -4
  549. instana_client/models/webpage_action_configuration.py +2 -2
  550. instana_client/models/webpage_script_configuration.py +5 -3
  551. instana_client/models/website.py +2 -2
  552. instana_client/models/website_alert_config.py +2 -2
  553. instana_client/models/website_alert_config_with_metadata.py +2 -2
  554. instana_client/models/website_alert_rule.py +2 -2
  555. instana_client/models/website_apdex_entity.py +2 -2
  556. instana_client/models/website_beacon_groups_item.py +2 -2
  557. instana_client/models/website_beacon_groups_result.py +2 -2
  558. instana_client/models/website_beacon_result.py +2 -2
  559. instana_client/models/website_beacon_tag_group.py +2 -2
  560. instana_client/models/website_beacons_item.py +11 -5
  561. instana_client/models/website_event_based_sli_entity.py +2 -2
  562. instana_client/models/website_event_result.py +4 -6
  563. instana_client/models/website_metric_result.py +2 -2
  564. instana_client/models/website_monitoring_beacon.py +7 -3
  565. instana_client/models/website_monitoring_metric_description.py +2 -2
  566. instana_client/models/website_monitoring_metrics_configuration.py +2 -2
  567. instana_client/models/website_slo_entity.py +2 -2
  568. instana_client/models/website_time_based_sli_entity.py +2 -2
  569. instana_client/models/website_time_threshold.py +2 -2
  570. instana_client/models/widget.py +2 -2
  571. instana_client/models/with_metadata.py +2 -2
  572. instana_client/models/with_resolved_name.py +2 -2
  573. instana_client/models/z_chat_ops_integration.py +2 -2
  574. instana_client/rest.py +3 -2
  575. instana_client-1.0.1.dist-info/METADATA +1068 -0
  576. instana_client-1.0.1.dist-info/RECORD +581 -0
  577. {instana_client-1.0.0.dist-info → instana_client-1.0.1.dist-info}/WHEEL +1 -1
  578. instana_client/models/dns_action_configuration.py +0 -134
  579. instana_client/models/dns_action_filter_query_time.py +0 -99
  580. instana_client/models/dns_action_filter_target_value.py +0 -106
  581. instana_client/models/full_trace.py +0 -97
  582. instana_client/models/span.py +0 -156
  583. instana_client-1.0.0.dist-info/METADATA +0 -25
  584. instana_client-1.0.0.dist-info/RECORD +0 -515
  585. {instana_client-1.0.0.dist-info → instana_client-1.0.1.dist-info}/licenses/LICENSE +0 -0
  586. {instana_client-1.0.0.dist-info → instana_client-1.0.1.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,115 @@
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.306.1368
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 BaseModel, ConfigDict, Field, StrictBool, StrictStr
22
+ from typing import Any, ClassVar, Dict, List
23
+ from typing_extensions import Annotated
24
+ from instana_client.models.access_rule import AccessRule
25
+ from instana_client.models.widget import Widget
26
+ from typing import Optional, Set
27
+ from typing_extensions import Self
28
+
29
+ class CustomDashboardWithUserSpecificInformation(BaseModel):
30
+ """
31
+ CustomDashboardWithUserSpecificInformation
32
+ """ # noqa: E501
33
+ access_rules: Annotated[List[AccessRule], Field(min_length=1, max_length=64)] = Field(alias="accessRules")
34
+ id: StrictStr
35
+ owner_id: StrictStr = Field(alias="ownerId")
36
+ title: StrictStr
37
+ widgets: Annotated[List[Widget], Field(min_length=0, max_length=128)]
38
+ writable: StrictBool
39
+ __properties: ClassVar[List[str]] = ["accessRules", "id", "ownerId", "title", "widgets", "writable"]
40
+
41
+ model_config = ConfigDict(
42
+ populate_by_name=True,
43
+ validate_assignment=True,
44
+ protected_namespaces=(),
45
+ )
46
+
47
+
48
+ def to_str(self) -> str:
49
+ """Returns the string representation of the model using alias"""
50
+ return pprint.pformat(self.model_dump(by_alias=True))
51
+
52
+ def to_json(self) -> str:
53
+ """Returns the JSON representation of the model using alias"""
54
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
55
+ return json.dumps(self.to_dict())
56
+
57
+ @classmethod
58
+ def from_json(cls, json_str: str) -> Optional[Self]:
59
+ """Create an instance of CustomDashboardWithUserSpecificInformation from a JSON string"""
60
+ return cls.from_dict(json.loads(json_str))
61
+
62
+ def to_dict(self) -> Dict[str, Any]:
63
+ """Return the dictionary representation of the model using alias.
64
+
65
+ This has the following differences from calling pydantic's
66
+ `self.model_dump(by_alias=True)`:
67
+
68
+ * `None` is only added to the output dict for nullable fields that
69
+ were set at model initialization. Other fields with value `None`
70
+ are ignored.
71
+ """
72
+ excluded_fields: Set[str] = set([
73
+ ])
74
+
75
+ _dict = self.model_dump(
76
+ by_alias=True,
77
+ exclude=excluded_fields,
78
+ exclude_none=True,
79
+ )
80
+ # override the default output from pydantic by calling `to_dict()` of each item in access_rules (list)
81
+ _items = []
82
+ if self.access_rules:
83
+ for _item_access_rules in self.access_rules:
84
+ if _item_access_rules:
85
+ _items.append(_item_access_rules.to_dict())
86
+ _dict['accessRules'] = _items
87
+ # override the default output from pydantic by calling `to_dict()` of each item in widgets (list)
88
+ _items = []
89
+ if self.widgets:
90
+ for _item_widgets in self.widgets:
91
+ if _item_widgets:
92
+ _items.append(_item_widgets.to_dict())
93
+ _dict['widgets'] = _items
94
+ return _dict
95
+
96
+ @classmethod
97
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
98
+ """Create an instance of CustomDashboardWithUserSpecificInformation 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
+ "accessRules": [AccessRule.from_dict(_item) for _item in obj["accessRules"]] if obj.get("accessRules") is not None else None,
107
+ "id": obj.get("id"),
108
+ "ownerId": obj.get("ownerId"),
109
+ "title": obj.get("title"),
110
+ "widgets": [Widget.from_dict(_item) for _item in obj["widgets"]] if obj.get("widgets") is not None else None,
111
+ "writable": obj.get("writable")
112
+ })
113
+ return _obj
114
+
115
+
@@ -0,0 +1,116 @@
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.306.1368
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 BaseModel, ConfigDict, Field, StrictStr, field_validator
22
+ from typing import Any, ClassVar, Dict, List, Optional
23
+ from typing import Optional, Set
24
+ from typing_extensions import Self
25
+
26
+ class CustomDependency(BaseModel):
27
+ """
28
+ CustomDependency
29
+ """ # noqa: E501
30
+ direction: Optional[StrictStr] = None
31
+ entity_type: Optional[StrictStr] = Field(default=None, description="If entityType is set, the dependency will be added to the plugin for that entity type. Otherwise, the dependency will be applied to the custom entity itself.", alias="entityType")
32
+ identifiers: Optional[List[StrictStr]] = Field(default=None, description="Will take the identifiers values for building the key of the dependency.")
33
+ name: Optional[StrictStr] = None
34
+ type: Optional[StrictStr] = None
35
+ __properties: ClassVar[List[str]] = ["direction", "entityType", "identifiers", "name", "type"]
36
+
37
+ @field_validator('direction')
38
+ def direction_validate_enum(cls, value):
39
+ """Validates the enum"""
40
+ if value is None:
41
+ return value
42
+
43
+ if value not in set(['outgoing', 'incoming']):
44
+ raise ValueError("must be one of enum values ('outgoing', 'incoming')")
45
+ return value
46
+
47
+ @field_validator('type')
48
+ def type_validate_enum(cls, value):
49
+ """Validates the enum"""
50
+ if value is None:
51
+ return value
52
+
53
+ if value not in set(['in', 'is', 'to', 'of', 'connected', 'describes', 'of20', 'to20', 'dummy', 'parent']):
54
+ raise ValueError("must be one of enum values ('in', 'is', 'to', 'of', 'connected', 'describes', 'of20', 'to20', 'dummy', 'parent')")
55
+ return value
56
+
57
+ model_config = ConfigDict(
58
+ populate_by_name=True,
59
+ validate_assignment=True,
60
+ protected_namespaces=(),
61
+ )
62
+
63
+
64
+ def to_str(self) -> str:
65
+ """Returns the string representation of the model using alias"""
66
+ return pprint.pformat(self.model_dump(by_alias=True))
67
+
68
+ def to_json(self) -> str:
69
+ """Returns the JSON representation of the model using alias"""
70
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
71
+ return json.dumps(self.to_dict())
72
+
73
+ @classmethod
74
+ def from_json(cls, json_str: str) -> Optional[Self]:
75
+ """Create an instance of CustomDependency from a JSON string"""
76
+ return cls.from_dict(json.loads(json_str))
77
+
78
+ def to_dict(self) -> Dict[str, Any]:
79
+ """Return the dictionary representation of the model using alias.
80
+
81
+ This has the following differences from calling pydantic's
82
+ `self.model_dump(by_alias=True)`:
83
+
84
+ * `None` is only added to the output dict for nullable fields that
85
+ were set at model initialization. Other fields with value `None`
86
+ are ignored.
87
+ """
88
+ excluded_fields: Set[str] = set([
89
+ ])
90
+
91
+ _dict = self.model_dump(
92
+ by_alias=True,
93
+ exclude=excluded_fields,
94
+ exclude_none=True,
95
+ )
96
+ return _dict
97
+
98
+ @classmethod
99
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
100
+ """Create an instance of CustomDependency from a dict"""
101
+ if obj is None:
102
+ return None
103
+
104
+ if not isinstance(obj, dict):
105
+ return cls.model_validate(obj)
106
+
107
+ _obj = cls.model_validate({
108
+ "direction": obj.get("direction"),
109
+ "entityType": obj.get("entityType"),
110
+ "identifiers": obj.get("identifiers"),
111
+ "name": obj.get("name"),
112
+ "type": obj.get("type")
113
+ })
114
+ return _obj
115
+
116
+
@@ -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.306.1368
9
9
  Contact: support@instana.com
10
10
  Generated by OpenAPI Generator (https://openapi-generator.tech)
11
11
 
@@ -0,0 +1,126 @@
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.306.1368
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 BaseModel, ConfigDict, Field, StrictStr
22
+ from typing import Any, ClassVar, Dict, List, Optional
23
+ from instana_client.models.custom_dashboard import CustomDashboard
24
+ from instana_client.models.custom_dependency import CustomDependency
25
+ from instana_client.models.custom_metric import CustomMetric
26
+ from instana_client.models.tag_filter_expression_element import TagFilterExpressionElement
27
+ from typing import Optional, Set
28
+ from typing_extensions import Self
29
+
30
+ class CustomEntityModel(BaseModel):
31
+ """
32
+ CustomEntityModel
33
+ """ # noqa: E501
34
+ dashboards: Optional[List[CustomDashboard]] = None
35
+ dependencies: Optional[List[CustomDependency]] = None
36
+ identifiers: List[StrictStr]
37
+ label: StrictStr
38
+ metrics: Optional[List[CustomMetric]] = None
39
+ tag_filter_expression: TagFilterExpressionElement = Field(alias="tagFilterExpression")
40
+ __properties: ClassVar[List[str]] = ["dashboards", "dependencies", "identifiers", "label", "metrics", "tagFilterExpression"]
41
+
42
+ model_config = ConfigDict(
43
+ populate_by_name=True,
44
+ validate_assignment=True,
45
+ protected_namespaces=(),
46
+ )
47
+
48
+
49
+ def to_str(self) -> str:
50
+ """Returns the string representation of the model using alias"""
51
+ return pprint.pformat(self.model_dump(by_alias=True))
52
+
53
+ def to_json(self) -> str:
54
+ """Returns the JSON representation of the model using alias"""
55
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
56
+ return json.dumps(self.to_dict())
57
+
58
+ @classmethod
59
+ def from_json(cls, json_str: str) -> Optional[Self]:
60
+ """Create an instance of CustomEntityModel from a JSON string"""
61
+ return cls.from_dict(json.loads(json_str))
62
+
63
+ def to_dict(self) -> Dict[str, Any]:
64
+ """Return the dictionary representation of the model using alias.
65
+
66
+ This has the following differences from calling pydantic's
67
+ `self.model_dump(by_alias=True)`:
68
+
69
+ * `None` is only added to the output dict for nullable fields that
70
+ were set at model initialization. Other fields with value `None`
71
+ are ignored.
72
+ """
73
+ excluded_fields: Set[str] = set([
74
+ ])
75
+
76
+ _dict = self.model_dump(
77
+ by_alias=True,
78
+ exclude=excluded_fields,
79
+ exclude_none=True,
80
+ )
81
+ # override the default output from pydantic by calling `to_dict()` of each item in dashboards (list)
82
+ _items = []
83
+ if self.dashboards:
84
+ for _item_dashboards in self.dashboards:
85
+ if _item_dashboards:
86
+ _items.append(_item_dashboards.to_dict())
87
+ _dict['dashboards'] = _items
88
+ # override the default output from pydantic by calling `to_dict()` of each item in dependencies (list)
89
+ _items = []
90
+ if self.dependencies:
91
+ for _item_dependencies in self.dependencies:
92
+ if _item_dependencies:
93
+ _items.append(_item_dependencies.to_dict())
94
+ _dict['dependencies'] = _items
95
+ # override the default output from pydantic by calling `to_dict()` of each item in metrics (list)
96
+ _items = []
97
+ if self.metrics:
98
+ for _item_metrics in self.metrics:
99
+ if _item_metrics:
100
+ _items.append(_item_metrics.to_dict())
101
+ _dict['metrics'] = _items
102
+ # override the default output from pydantic by calling `to_dict()` of tag_filter_expression
103
+ if self.tag_filter_expression:
104
+ _dict['tagFilterExpression'] = self.tag_filter_expression.to_dict()
105
+ return _dict
106
+
107
+ @classmethod
108
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
109
+ """Create an instance of CustomEntityModel from a dict"""
110
+ if obj is None:
111
+ return None
112
+
113
+ if not isinstance(obj, dict):
114
+ return cls.model_validate(obj)
115
+
116
+ _obj = cls.model_validate({
117
+ "dashboards": [CustomDashboard.from_dict(_item) for _item in obj["dashboards"]] if obj.get("dashboards") is not None else None,
118
+ "dependencies": [CustomDependency.from_dict(_item) for _item in obj["dependencies"]] if obj.get("dependencies") is not None else None,
119
+ "identifiers": obj.get("identifiers"),
120
+ "label": obj.get("label"),
121
+ "metrics": [CustomMetric.from_dict(_item) for _item in obj["metrics"]] if obj.get("metrics") is not None else None,
122
+ "tagFilterExpression": TagFilterExpressionElement.from_dict(obj["tagFilterExpression"]) if obj.get("tagFilterExpression") is not None else None
123
+ })
124
+ return _obj
125
+
126
+
@@ -0,0 +1,98 @@
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.306.1368
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 BaseModel, ConfigDict, StrictInt, StrictStr
22
+ from typing import Any, ClassVar, Dict, List, Optional
23
+ from instana_client.models.custom_entity_model import CustomEntityModel
24
+ from typing import Optional, Set
25
+ from typing_extensions import Self
26
+
27
+ class CustomEntityWithMetadata(BaseModel):
28
+ """
29
+ CustomEntityWithMetadata
30
+ """ # noqa: E501
31
+ created: Optional[StrictInt] = None
32
+ data: CustomEntityModel
33
+ id: StrictStr
34
+ version: Optional[StrictStr] = None
35
+ __properties: ClassVar[List[str]] = ["created", "data", "id", "version"]
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 CustomEntityWithMetadata 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 data
77
+ if self.data:
78
+ _dict['data'] = self.data.to_dict()
79
+ return _dict
80
+
81
+ @classmethod
82
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
83
+ """Create an instance of CustomEntityWithMetadata from a dict"""
84
+ if obj is None:
85
+ return None
86
+
87
+ if not isinstance(obj, dict):
88
+ return cls.model_validate(obj)
89
+
90
+ _obj = cls.model_validate({
91
+ "created": obj.get("created"),
92
+ "data": CustomEntityModel.from_dict(obj["data"]) if obj.get("data") is not None else None,
93
+ "id": obj.get("id"),
94
+ "version": obj.get("version")
95
+ })
96
+ return _obj
97
+
98
+
@@ -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.306.1368
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.306.1368
9
9
  Contact: support@instana.com
10
10
  Generated by OpenAPI Generator (https://openapi-generator.tech)
11
11
 
@@ -39,8 +39,11 @@ class CustomEventSpecification(BaseModel):
39
39
  query: Optional[Annotated[str, Field(min_length=0, strict=True, max_length=2048)]] = None
40
40
  rule_logical_operator: Optional[StrictStr] = Field(default=None, description="Set AND / OR", alias="ruleLogicalOperator")
41
41
  rules: Annotated[List[AbstractRule], Field(min_length=1, max_length=5)]
42
+ transient_event_alert_muted: Optional[StrictBool] = Field(default=None, alias="transientEventAlertMuted")
43
+ transient_event_enabled: Optional[StrictBool] = Field(default=None, alias="transientEventEnabled")
44
+ transient_event_threshold: Optional[StrictInt] = Field(default=None, alias="transientEventThreshold")
42
45
  triggering: Optional[StrictBool] = None
43
- __properties: ClassVar[List[str]] = ["actions", "description", "enabled", "entityType", "expirationTime", "name", "query", "ruleLogicalOperator", "rules", "triggering"]
46
+ __properties: ClassVar[List[str]] = ["actions", "description", "enabled", "entityType", "expirationTime", "name", "query", "ruleLogicalOperator", "rules", "transientEventAlertMuted", "transientEventEnabled", "transientEventThreshold", "triggering"]
44
47
 
45
48
  @field_validator('rule_logical_operator')
46
49
  def rule_logical_operator_validate_enum(cls, value):
@@ -126,6 +129,9 @@ class CustomEventSpecification(BaseModel):
126
129
  "query": obj.get("query"),
127
130
  "ruleLogicalOperator": obj.get("ruleLogicalOperator"),
128
131
  "rules": [AbstractRule.from_dict(_item) for _item in obj["rules"]] if obj.get("rules") is not None else None,
132
+ "transientEventAlertMuted": obj.get("transientEventAlertMuted"),
133
+ "transientEventEnabled": obj.get("transientEventEnabled"),
134
+ "transientEventThreshold": obj.get("transientEventThreshold"),
129
135
  "triggering": obj.get("triggering")
130
136
  })
131
137
  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.306.1368
9
9
  Contact: support@instana.com
10
10
  Generated by OpenAPI Generator (https://openapi-generator.tech)
11
11
 
@@ -44,8 +44,11 @@ class CustomEventSpecificationWithLastUpdated(BaseModel):
44
44
  query: Optional[Annotated[str, Field(min_length=0, strict=True, max_length=2048)]] = None
45
45
  rule_logical_operator: Optional[StrictStr] = Field(default=None, description="Set AND / OR", alias="ruleLogicalOperator")
46
46
  rules: Annotated[List[AbstractRule], Field(min_length=1, max_length=5)]
47
+ transient_event_alert_muted: Optional[StrictBool] = Field(default=None, alias="transientEventAlertMuted")
48
+ transient_event_enabled: Optional[StrictBool] = Field(default=None, alias="transientEventEnabled")
49
+ transient_event_threshold: Optional[StrictInt] = Field(default=None, alias="transientEventThreshold")
47
50
  triggering: Optional[StrictBool] = None
48
- __properties: ClassVar[List[str]] = ["actions", "applicationAlertConfigId", "deleted", "description", "enabled", "entityType", "expirationTime", "id", "lastUpdated", "migrated", "name", "query", "ruleLogicalOperator", "rules", "triggering"]
51
+ __properties: ClassVar[List[str]] = ["actions", "applicationAlertConfigId", "deleted", "description", "enabled", "entityType", "expirationTime", "id", "lastUpdated", "migrated", "name", "query", "ruleLogicalOperator", "rules", "transientEventAlertMuted", "transientEventEnabled", "transientEventThreshold", "triggering"]
49
52
 
50
53
  @field_validator('rule_logical_operator')
51
54
  def rule_logical_operator_validate_enum(cls, value):
@@ -136,6 +139,9 @@ class CustomEventSpecificationWithLastUpdated(BaseModel):
136
139
  "query": obj.get("query"),
137
140
  "ruleLogicalOperator": obj.get("ruleLogicalOperator"),
138
141
  "rules": [AbstractRule.from_dict(_item) for _item in obj["rules"]] if obj.get("rules") is not None else None,
142
+ "transientEventAlertMuted": obj.get("transientEventAlertMuted"),
143
+ "transientEventEnabled": obj.get("transientEventEnabled"),
144
+ "transientEventThreshold": obj.get("transientEventThreshold"),
139
145
  "triggering": obj.get("triggering")
140
146
  })
141
147
  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.306.1368
9
9
  Contact: support@instana.com
10
10
  Generated by OpenAPI Generator (https://openapi-generator.tech)
11
11