instana-client 1.0.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (515) hide show
  1. instana_client/__init__.py +534 -0
  2. instana_client/api/__init__.py +58 -0
  3. instana_client/api/action_catalog_api.py +1380 -0
  4. instana_client/api/action_history_api.py +1793 -0
  5. instana_client/api/apdex_report_api.py +338 -0
  6. instana_client/api/apdex_settings_api.py +1353 -0
  7. instana_client/api/api_token_api.py +1370 -0
  8. instana_client/api/application_alert_configuration_api.py +2865 -0
  9. instana_client/api/application_analyze_api.py +2017 -0
  10. instana_client/api/application_catalog_api.py +885 -0
  11. instana_client/api/application_metrics_api.py +1211 -0
  12. instana_client/api/application_resources_api.py +1487 -0
  13. instana_client/api/application_settings_api.py +7261 -0
  14. instana_client/api/application_topology_api.py +354 -0
  15. instana_client/api/audit_log_api.py +635 -0
  16. instana_client/api/authentication_api.py +1008 -0
  17. instana_client/api/business_monitoring_api.py +2177 -0
  18. instana_client/api/custom_dashboards_api.py +1930 -0
  19. instana_client/api/event_settings_api.py +14613 -0
  20. instana_client/api/events_api.py +1654 -0
  21. instana_client/api/global_application_alert_configuration_api.py +2606 -0
  22. instana_client/api/groups_api.py +4078 -0
  23. instana_client/api/health_api.py +527 -0
  24. instana_client/api/host_agent_api.py +2120 -0
  25. instana_client/api/infrastructure_alert_configuration_api.py +2524 -0
  26. instana_client/api/infrastructure_analyze_api.py +1141 -0
  27. instana_client/api/infrastructure_catalog_api.py +1822 -0
  28. instana_client/api/infrastructure_metrics_api.py +331 -0
  29. instana_client/api/infrastructure_resources_api.py +1880 -0
  30. instana_client/api/infrastructure_topology_api.py +595 -0
  31. instana_client/api/log_alert_configuration_api.py +2524 -0
  32. instana_client/api/maintenance_configuration_api.py +2683 -0
  33. instana_client/api/mobile_app_analyze_api.py +613 -0
  34. instana_client/api/mobile_app_catalog_api.py +825 -0
  35. instana_client/api/mobile_app_configuration_api.py +2847 -0
  36. instana_client/api/mobile_app_metrics_api.py +892 -0
  37. instana_client/api/policies_api.py +1755 -0
  38. instana_client/api/releases_api.py +1408 -0
  39. instana_client/api/service_levels_alert_configuration_api.py +2577 -0
  40. instana_client/api/service_levels_objective_slo_configurations_api.py +1825 -0
  41. instana_client/api/service_levels_objective_slo_report_api.py +335 -0
  42. instana_client/api/session_settings_api.py +801 -0
  43. instana_client/api/sli_report_api.py +352 -0
  44. instana_client/api/sli_settings_api.py +2677 -0
  45. instana_client/api/synthetic_alert_configuration_api.py +2606 -0
  46. instana_client/api/synthetic_calls_api.py +789 -0
  47. instana_client/api/synthetic_catalog_api.py +543 -0
  48. instana_client/api/synthetic_metrics_api.py +322 -0
  49. instana_client/api/synthetic_settings_api.py +5144 -0
  50. instana_client/api/synthetic_test_playback_results_api.py +2142 -0
  51. instana_client/api/usage_api.py +1404 -0
  52. instana_client/api/user_api.py +2404 -0
  53. instana_client/api/website_analyze_api.py +619 -0
  54. instana_client/api/website_catalog_api.py +832 -0
  55. instana_client/api/website_configuration_api.py +3745 -0
  56. instana_client/api/website_metrics_api.py +889 -0
  57. instana_client/api_client.py +798 -0
  58. instana_client/api_response.py +21 -0
  59. instana_client/configuration.py +616 -0
  60. instana_client/exceptions.py +217 -0
  61. instana_client/models/__init__.py +464 -0
  62. instana_client/models/abstract_integration.py +155 -0
  63. instana_client/models/abstract_rule.py +124 -0
  64. instana_client/models/access_log_entry.py +105 -0
  65. instana_client/models/access_log_response.py +98 -0
  66. instana_client/models/access_rule.py +107 -0
  67. instana_client/models/action.py +135 -0
  68. instana_client/models/action_configuration.py +104 -0
  69. instana_client/models/action_instance.py +185 -0
  70. instana_client/models/action_instance_metadata_entry.py +90 -0
  71. instana_client/models/action_instance_parameter.py +94 -0
  72. instana_client/models/action_instance_request.py +108 -0
  73. instana_client/models/action_instance_request_parameters.py +92 -0
  74. instana_client/models/action_match.py +98 -0
  75. instana_client/models/action_search_space.py +94 -0
  76. instana_client/models/adaptive_baseline.py +92 -0
  77. instana_client/models/adaptive_threshold_rule.py +91 -0
  78. instana_client/models/adjusted_timeframe.py +91 -0
  79. instana_client/models/agent_configuration_update.py +93 -0
  80. instana_client/models/alerting_configuration.py +113 -0
  81. instana_client/models/alerting_configuration_with_last_updated.py +115 -0
  82. instana_client/models/alerting_time_window.py +109 -0
  83. instana_client/models/apdex_configuration.py +99 -0
  84. instana_client/models/apdex_configuration_input.py +95 -0
  85. instana_client/models/apdex_entity.py +119 -0
  86. instana_client/models/apdex_report.py +94 -0
  87. instana_client/models/api_create_group.py +104 -0
  88. instana_client/models/api_group.py +107 -0
  89. instana_client/models/api_member.py +90 -0
  90. instana_client/models/api_permission_set.py +178 -0
  91. instana_client/models/api_restricted_application_filter.py +108 -0
  92. instana_client/models/api_token.py +250 -0
  93. instana_client/models/app_data_metric_configuration.py +105 -0
  94. instana_client/models/application.py +104 -0
  95. instana_client/models/application_alert_config.py +203 -0
  96. instana_client/models/application_alert_config_with_metadata.py +213 -0
  97. instana_client/models/application_alert_rule.py +135 -0
  98. instana_client/models/application_apdex_entity.py +111 -0
  99. instana_client/models/application_config.py +131 -0
  100. instana_client/models/application_event_result.py +108 -0
  101. instana_client/models/application_item.py +94 -0
  102. instana_client/models/application_metric_result.py +109 -0
  103. instana_client/models/application_node.py +106 -0
  104. instana_client/models/application_result.py +102 -0
  105. instana_client/models/application_scope.py +89 -0
  106. instana_client/models/application_scope_with_metadata.py +90 -0
  107. instana_client/models/application_sli_entity.py +103 -0
  108. instana_client/models/application_slo_entity.py +112 -0
  109. instana_client/models/application_time_threshold.py +115 -0
  110. instana_client/models/audit_log_entry.py +102 -0
  111. instana_client/models/audit_log_ui_response.py +98 -0
  112. instana_client/models/author.py +100 -0
  113. instana_client/models/availability_blueprint_indicator.py +106 -0
  114. instana_client/models/availability_sli_entity.py +138 -0
  115. instana_client/models/available_metrics.py +96 -0
  116. instana_client/models/available_plugins.py +88 -0
  117. instana_client/models/backend_trace_reference.py +88 -0
  118. instana_client/models/binary_operator_dto.py +107 -0
  119. instana_client/models/browser_script_configuration.py +127 -0
  120. instana_client/models/built_in_event_specification.py +123 -0
  121. instana_client/models/built_in_event_specification_with_last_updated.py +125 -0
  122. instana_client/models/business_activity.py +132 -0
  123. instana_client/models/business_perspective_config.py +99 -0
  124. instana_client/models/call_groups_item.py +95 -0
  125. instana_client/models/call_groups_result.py +111 -0
  126. instana_client/models/call_relation.py +100 -0
  127. instana_client/models/change_summary.py +101 -0
  128. instana_client/models/cloudfoundry_physical_context.py +104 -0
  129. instana_client/models/condition.py +88 -0
  130. instana_client/models/config_version.py +101 -0
  131. instana_client/models/crash_mobile_app_alert_rule.py +90 -0
  132. instana_client/models/cursor_paginated_business_activity_item.py +96 -0
  133. instana_client/models/cursor_pagination.py +93 -0
  134. instana_client/models/cursor_pagination_infra_explore_cursor.py +90 -0
  135. instana_client/models/custom_blueprint_indicator.py +104 -0
  136. instana_client/models/custom_dashboard.py +111 -0
  137. instana_client/models/custom_dashboard_preview.py +103 -0
  138. instana_client/models/custom_email_subject_prefix.py +94 -0
  139. instana_client/models/custom_event_mobile_app_alert_rule.py +92 -0
  140. instana_client/models/custom_event_specification.py +133 -0
  141. instana_client/models/custom_event_specification_with_last_updated.py +143 -0
  142. instana_client/models/custom_event_website_alert_rule.py +92 -0
  143. instana_client/models/custom_payload_configuration.py +97 -0
  144. instana_client/models/custom_payload_field.py +112 -0
  145. instana_client/models/custom_payload_with_last_updated.py +99 -0
  146. instana_client/models/dashboard_api_token.py +90 -0
  147. instana_client/models/database_integration.py +90 -0
  148. instana_client/models/deprecated_tag_filter.py +111 -0
  149. instana_client/models/dns_action_configuration.py +134 -0
  150. instana_client/models/dns_action_filter_query_time.py +99 -0
  151. instana_client/models/dns_action_filter_target_value.py +106 -0
  152. instana_client/models/duration.py +98 -0
  153. instana_client/models/dynamic_field.py +95 -0
  154. instana_client/models/dynamic_field_value.py +90 -0
  155. instana_client/models/dynamic_parameter.py +94 -0
  156. instana_client/models/edit_user.py +88 -0
  157. instana_client/models/email_integration.py +98 -0
  158. instana_client/models/empty_configuration.py +92 -0
  159. instana_client/models/endpoint.py +131 -0
  160. instana_client/models/endpoint_config.py +112 -0
  161. instana_client/models/endpoint_event_result.py +112 -0
  162. instana_client/models/endpoint_item.py +94 -0
  163. instana_client/models/endpoint_metric_result.py +109 -0
  164. instana_client/models/endpoint_node.py +91 -0
  165. instana_client/models/endpoint_result.py +102 -0
  166. instana_client/models/endpoint_simple.py +102 -0
  167. instana_client/models/entity_count_rule.py +100 -0
  168. instana_client/models/entity_count_verification_rule.py +114 -0
  169. instana_client/models/entity_health_info.py +99 -0
  170. instana_client/models/entity_id.py +92 -0
  171. instana_client/models/entity_verification_rule.py +105 -0
  172. instana_client/models/error_budget_alert_rule.py +97 -0
  173. instana_client/models/errors_application_alert_rule.py +90 -0
  174. instana_client/models/event.py +127 -0
  175. instana_client/models/event_filtering_configuration.py +106 -0
  176. instana_client/models/event_result.py +145 -0
  177. instana_client/models/event_specification_info.py +114 -0
  178. instana_client/models/extended_service.py +123 -0
  179. instana_client/models/failure_synthetic_alert_rule.py +90 -0
  180. instana_client/models/fixed_http_path_segment_matching_rule.py +90 -0
  181. instana_client/models/fixed_time_window.py +93 -0
  182. instana_client/models/full_trace.py +97 -0
  183. instana_client/models/generic_infra_alert_rule.py +93 -0
  184. instana_client/models/geo_location_configuration.py +106 -0
  185. instana_client/models/geo_mapping_rule.py +120 -0
  186. instana_client/models/geo_subdivision.py +91 -0
  187. instana_client/models/get_activities.py +115 -0
  188. instana_client/models/get_application_metrics.py +112 -0
  189. instana_client/models/get_applications.py +150 -0
  190. instana_client/models/get_available_metrics_query.py +103 -0
  191. instana_client/models/get_available_plugins_query.py +98 -0
  192. instana_client/models/get_call_groups.py +141 -0
  193. instana_client/models/get_combined_metrics.py +103 -0
  194. instana_client/models/get_dynamic_parameter_values.py +100 -0
  195. instana_client/models/get_endpoints.py +150 -0
  196. instana_client/models/get_infrastructure_groups_query.py +127 -0
  197. instana_client/models/get_infrastructure_query.py +127 -0
  198. instana_client/models/get_metrics_result.py +128 -0
  199. instana_client/models/get_mobile_app_beacon_groups.py +146 -0
  200. instana_client/models/get_mobile_app_beacons.py +118 -0
  201. instana_client/models/get_mobile_app_metrics.py +122 -0
  202. instana_client/models/get_mobile_app_metrics_v2.py +118 -0
  203. instana_client/models/get_payload_keys_result.py +88 -0
  204. instana_client/models/get_services.py +147 -0
  205. instana_client/models/get_snapshots_query.py +95 -0
  206. instana_client/models/get_test_result.py +139 -0
  207. instana_client/models/get_test_result_base.py +120 -0
  208. instana_client/models/get_test_result_list.py +125 -0
  209. instana_client/models/get_test_summary_result.py +130 -0
  210. instana_client/models/get_trace_download_result_item.py +114 -0
  211. instana_client/models/get_trace_groups.py +141 -0
  212. instana_client/models/get_traces.py +125 -0
  213. instana_client/models/get_website_beacon_groups.py +146 -0
  214. instana_client/models/get_website_beacons.py +118 -0
  215. instana_client/models/get_website_metrics.py +122 -0
  216. instana_client/models/get_website_metrics_v2.py +118 -0
  217. instana_client/models/global_application_alert_config_with_metadata.py +205 -0
  218. instana_client/models/global_applications_alert_config.py +191 -0
  219. instana_client/models/google_chat_integration.py +92 -0
  220. instana_client/models/graph_edge.py +102 -0
  221. instana_client/models/graph_node.py +100 -0
  222. instana_client/models/group.py +100 -0
  223. instana_client/models/group_by_tag.py +90 -0
  224. instana_client/models/group_mapping.py +95 -0
  225. instana_client/models/health_state.py +100 -0
  226. instana_client/models/historic_baseline.py +105 -0
  227. instana_client/models/host_availability_rule.py +100 -0
  228. instana_client/models/http_action_configuration.py +127 -0
  229. instana_client/models/http_endpoint_config.py +103 -0
  230. instana_client/models/http_endpoint_rule.py +101 -0
  231. instana_client/models/http_path_segment_matching_rule.py +124 -0
  232. instana_client/models/http_script_configuration.py +113 -0
  233. instana_client/models/hyper_param.py +111 -0
  234. instana_client/models/identity_provider_patch.py +88 -0
  235. instana_client/models/infra_alert_config.py +166 -0
  236. instana_client/models/infra_alert_config_with_metadata.py +176 -0
  237. instana_client/models/infra_alert_rule.py +133 -0
  238. instana_client/models/infra_event_result.py +109 -0
  239. instana_client/models/infra_metric_configuration.py +115 -0
  240. instana_client/models/infra_time_threshold.py +109 -0
  241. instana_client/models/infrastructure_entities_result.py +109 -0
  242. instana_client/models/infrastructure_group.py +92 -0
  243. instana_client/models/infrastructure_groups_result.py +109 -0
  244. instana_client/models/infrastructure_item.py +104 -0
  245. instana_client/models/infrastructure_metric_result.py +96 -0
  246. instana_client/models/instana_version_info.py +92 -0
  247. instana_client/models/integration_overview.py +94 -0
  248. instana_client/models/invitation.py +94 -0
  249. instana_client/models/invitation_response.py +96 -0
  250. instana_client/models/invitation_result.py +100 -0
  251. instana_client/models/ip_masking_configuration.py +95 -0
  252. instana_client/models/js_stack_trace_line.py +99 -0
  253. instana_client/models/kubernetes_physical_context.py +107 -0
  254. instana_client/models/latency_blueprint_indicator.py +106 -0
  255. instana_client/models/location_status.py +96 -0
  256. instana_client/models/log_alert_config.py +154 -0
  257. instana_client/models/log_alert_config_with_metadata.py +164 -0
  258. instana_client/models/log_alert_rule.py +120 -0
  259. instana_client/models/log_count_alert_rule.py +90 -0
  260. instana_client/models/log_entry_actor.py +101 -0
  261. instana_client/models/log_event_result.py +107 -0
  262. instana_client/models/log_time_threshold.py +109 -0
  263. instana_client/models/logs_application_alert_rule.py +122 -0
  264. instana_client/models/maintenance_config.py +103 -0
  265. instana_client/models/maintenance_config_scheduling.py +118 -0
  266. instana_client/models/maintenance_config_v2.py +111 -0
  267. instana_client/models/maintenance_config_v2_with_state_and_occurrence.py +131 -0
  268. instana_client/models/maintenance_config_with_last_updated.py +105 -0
  269. instana_client/models/maintenance_window.py +93 -0
  270. instana_client/models/manual_alerting_channel_configuration.py +99 -0
  271. instana_client/models/manual_close_info.py +99 -0
  272. instana_client/models/manual_service_config.py +103 -0
  273. instana_client/models/match_all_http_path_segment_matching_rule.py +88 -0
  274. instana_client/models/match_expression_dto.py +111 -0
  275. instana_client/models/meta_data.py +96 -0
  276. instana_client/models/metric_api_result.py +94 -0
  277. instana_client/models/metric_config.py +99 -0
  278. instana_client/models/metric_configuration.py +103 -0
  279. instana_client/models/metric_description.py +116 -0
  280. instana_client/models/metric_instance.py +105 -0
  281. instana_client/models/metric_item.py +102 -0
  282. instana_client/models/metric_metadata.py +132 -0
  283. instana_client/models/metric_pattern.py +101 -0
  284. instana_client/models/metrics_result.py +96 -0
  285. instana_client/models/metrics_result_item.py +100 -0
  286. instana_client/models/metrics_test_result_item.py +102 -0
  287. instana_client/models/mobile_app.py +91 -0
  288. instana_client/models/mobile_app_alert_config.py +162 -0
  289. instana_client/models/mobile_app_alert_rule.py +129 -0
  290. instana_client/models/mobile_app_beacon_groups_item.py +95 -0
  291. instana_client/models/mobile_app_beacon_groups_result.py +111 -0
  292. instana_client/models/mobile_app_beacon_result.py +111 -0
  293. instana_client/models/mobile_app_beacon_tag_group.py +100 -0
  294. instana_client/models/mobile_app_beacons_item.py +94 -0
  295. instana_client/models/mobile_app_event_result.py +108 -0
  296. instana_client/models/mobile_app_metric_result.py +88 -0
  297. instana_client/models/mobile_app_monitoring_beacon.py +259 -0
  298. instana_client/models/mobile_app_monitoring_metric_description.py +123 -0
  299. instana_client/models/mobile_app_monitoring_metrics_configuration.py +105 -0
  300. instana_client/models/mobile_app_time_threshold.py +115 -0
  301. instana_client/models/model_field.py +96 -0
  302. instana_client/models/monitoring_state.py +92 -0
  303. instana_client/models/multiple_scripts_configuration.py +90 -0
  304. instana_client/models/new_application_config.py +129 -0
  305. instana_client/models/new_business_perspective_config.py +97 -0
  306. instana_client/models/new_manual_service_config.py +100 -0
  307. instana_client/models/occurrence.py +91 -0
  308. instana_client/models/office365_integration.py +92 -0
  309. instana_client/models/one_time_maintenance_window.py +94 -0
  310. instana_client/models/opsgenie_integration.py +105 -0
  311. instana_client/models/order.py +99 -0
  312. instana_client/models/pagerduty_integration.py +92 -0
  313. instana_client/models/paginated_result.py +95 -0
  314. instana_client/models/pagination.py +91 -0
  315. instana_client/models/parameter.py +102 -0
  316. instana_client/models/parameter_value.py +90 -0
  317. instana_client/models/path_parameter_http_path_segment_matching_rule.py +90 -0
  318. instana_client/models/physical_context.py +119 -0
  319. instana_client/models/plugin_result.py +90 -0
  320. instana_client/models/policy.py +113 -0
  321. instana_client/models/policy_runnable.py +103 -0
  322. instana_client/models/post_snapshots_result.py +98 -0
  323. instana_client/models/problem.py +95 -0
  324. instana_client/models/prometheus_webhook_integration.py +94 -0
  325. instana_client/models/recurrent_maintenance_window.py +98 -0
  326. instana_client/models/release.py +111 -0
  327. instana_client/models/release_scope.py +94 -0
  328. instana_client/models/release_with_metadata.py +125 -0
  329. instana_client/models/rolling_time_window.py +90 -0
  330. instana_client/models/rule_input.py +98 -0
  331. instana_client/models/rule_with_threshold_application_alert_rule.py +116 -0
  332. instana_client/models/rule_with_threshold_infra_alert_rule.py +116 -0
  333. instana_client/models/rule_with_threshold_log_alert_rule.py +116 -0
  334. instana_client/models/rule_with_threshold_mobile_app_alert_rule.py +116 -0
  335. instana_client/models/rule_with_threshold_website_alert_rule.py +116 -0
  336. instana_client/models/run_configuration.py +96 -0
  337. instana_client/models/salesforce_integration.py +98 -0
  338. instana_client/models/scope_binding.py +91 -0
  339. instana_client/models/search_field_result.py +116 -0
  340. instana_client/models/service.py +116 -0
  341. instana_client/models/service_config.py +107 -0
  342. instana_client/models/service_event_result.py +110 -0
  343. instana_client/models/service_item.py +94 -0
  344. instana_client/models/service_level_indicator.py +172 -0
  345. instana_client/models/service_level_objective_alert_rule.py +100 -0
  346. instana_client/models/service_level_objective_configuration.py +118 -0
  347. instana_client/models/service_levels_alert_config.py +133 -0
  348. instana_client/models/service_levels_alert_rule.py +111 -0
  349. instana_client/models/service_levels_burn_rate_time_windows.py +97 -0
  350. instana_client/models/service_levels_time_threshold.py +90 -0
  351. instana_client/models/service_levelse_alert_config_with_metadata.py +143 -0
  352. instana_client/models/service_map.py +106 -0
  353. instana_client/models/service_map_connection.py +97 -0
  354. instana_client/models/service_matching_rule.py +90 -0
  355. instana_client/models/service_metric_result.py +109 -0
  356. instana_client/models/service_node.py +106 -0
  357. instana_client/models/service_now_enhanced_integration.py +116 -0
  358. instana_client/models/service_now_integration.py +98 -0
  359. instana_client/models/service_result.py +102 -0
  360. instana_client/models/service_scope.py +95 -0
  361. instana_client/models/service_scope_with_metadata.py +96 -0
  362. instana_client/models/service_scoped_to.py +97 -0
  363. instana_client/models/service_scoped_to_with_metadata.py +97 -0
  364. instana_client/models/service_simple.py +90 -0
  365. instana_client/models/session_settings.py +91 -0
  366. instana_client/models/slack_integration.py +98 -0
  367. instana_client/models/sli_configuration.py +105 -0
  368. instana_client/models/sli_configuration_with_last_updated.py +107 -0
  369. instana_client/models/sli_entity.py +117 -0
  370. instana_client/models/sli_report.py +100 -0
  371. instana_client/models/slo_entity.py +119 -0
  372. instana_client/models/slo_report.py +112 -0
  373. instana_client/models/slowness_application_alert_rule.py +90 -0
  374. instana_client/models/slowness_website_alert_rule.py +90 -0
  375. instana_client/models/snapshot_item.py +102 -0
  376. instana_client/models/snapshot_preview.py +97 -0
  377. instana_client/models/snapshot_result.py +96 -0
  378. instana_client/models/software_user.py +94 -0
  379. instana_client/models/software_version.py +124 -0
  380. instana_client/models/source_map_file_blob.py +92 -0
  381. instana_client/models/source_map_file_meta.py +115 -0
  382. instana_client/models/source_map_upload_config.py +106 -0
  383. instana_client/models/span.py +156 -0
  384. instana_client/models/span_excerpt.py +132 -0
  385. instana_client/models/span_relation.py +114 -0
  386. instana_client/models/specific_js_errors_website_alert_rule.py +101 -0
  387. instana_client/models/splunk_integration.py +94 -0
  388. instana_client/models/ssl_certificate_configuration.py +99 -0
  389. instana_client/models/stack_trace_item.py +92 -0
  390. instana_client/models/stack_trace_line.py +99 -0
  391. instana_client/models/static_baseline_threshold_rule.py +102 -0
  392. instana_client/models/static_string_field.py +91 -0
  393. instana_client/models/static_threshold.py +94 -0
  394. instana_client/models/static_threshold_rule.py +91 -0
  395. instana_client/models/status_code_application_alert_rule.py +95 -0
  396. instana_client/models/status_code_mobile_app_alert_rule.py +101 -0
  397. instana_client/models/status_code_website_alert_rule.py +101 -0
  398. instana_client/models/synthetic_alert_config.py +127 -0
  399. instana_client/models/synthetic_alert_config_with_metadata.py +137 -0
  400. instana_client/models/synthetic_alert_rule.py +120 -0
  401. instana_client/models/synthetic_call_config.py +99 -0
  402. instana_client/models/synthetic_call_rule.py +99 -0
  403. instana_client/models/synthetic_call_with_defaults_config.py +108 -0
  404. instana_client/models/synthetic_credential.py +111 -0
  405. instana_client/models/synthetic_datacenter.py +117 -0
  406. instana_client/models/synthetic_datacenter_configuration.py +88 -0
  407. instana_client/models/synthetic_geo_point.py +94 -0
  408. instana_client/models/synthetic_location.py +129 -0
  409. instana_client/models/synthetic_location_configuration.py +102 -0
  410. instana_client/models/synthetic_metric_configuration.py +99 -0
  411. instana_client/models/synthetic_metric_tag_group.py +100 -0
  412. instana_client/models/synthetic_playback_capabilities.py +98 -0
  413. instana_client/models/synthetic_slo_entity.py +95 -0
  414. instana_client/models/synthetic_test.py +149 -0
  415. instana_client/models/synthetic_time_threshold.py +110 -0
  416. instana_client/models/synthetic_type_configuration.py +141 -0
  417. instana_client/models/synthetics_event_result.py +110 -0
  418. instana_client/models/system_rule.py +91 -0
  419. instana_client/models/system_rule_label.py +90 -0
  420. instana_client/models/tag.py +123 -0
  421. instana_client/models/tag_catalog.py +106 -0
  422. instana_client/models/tag_filter.py +113 -0
  423. instana_client/models/tag_filter_expression.py +106 -0
  424. instana_client/models/tag_filter_expression_element.py +111 -0
  425. instana_client/models/tag_matcher_dto.py +110 -0
  426. instana_client/models/tag_tree_level.py +109 -0
  427. instana_client/models/tag_tree_node.py +113 -0
  428. instana_client/models/tag_tree_tag.py +103 -0
  429. instana_client/models/test_common_properties.py +136 -0
  430. instana_client/models/test_result.py +105 -0
  431. instana_client/models/test_result_common_properties.py +108 -0
  432. instana_client/models/test_result_detail_data.py +112 -0
  433. instana_client/models/test_result_item.py +106 -0
  434. instana_client/models/test_result_list_item.py +94 -0
  435. instana_client/models/test_result_list_result.py +103 -0
  436. instana_client/models/test_result_metadata.py +94 -0
  437. instana_client/models/test_result_subtransaction.py +90 -0
  438. instana_client/models/threshold.py +122 -0
  439. instana_client/models/threshold_config_rule.py +114 -0
  440. instana_client/models/threshold_rule.py +125 -0
  441. instana_client/models/throughput_application_alert_rule.py +90 -0
  442. instana_client/models/throughput_mobile_app_alert_rule.py +90 -0
  443. instana_client/models/throughput_website_alert_rule.py +90 -0
  444. instana_client/models/time_frame.py +91 -0
  445. instana_client/models/time_window.py +120 -0
  446. instana_client/models/topology.py +106 -0
  447. instana_client/models/trace.py +109 -0
  448. instana_client/models/trace_activity_tree_node_details.py +139 -0
  449. instana_client/models/trace_download_result.py +111 -0
  450. instana_client/models/trace_groups_item.py +95 -0
  451. instana_client/models/trace_groups_result.py +111 -0
  452. instana_client/models/trace_impact_application_time_threshold.py +92 -0
  453. instana_client/models/trace_item.py +94 -0
  454. instana_client/models/trace_result.py +111 -0
  455. instana_client/models/traffic_blueprint_indicator.py +104 -0
  456. instana_client/models/trigger.py +99 -0
  457. instana_client/models/type_configuration.py +107 -0
  458. instana_client/models/unsupported_http_path_segment_matching_rule.py +90 -0
  459. instana_client/models/updated_business_perspective_config.py +97 -0
  460. instana_client/models/usage_result.py +98 -0
  461. instana_client/models/usage_result_items.py +90 -0
  462. instana_client/models/user_basic_result.py +92 -0
  463. instana_client/models/user_impact_mobile_app_time_threshold.py +103 -0
  464. instana_client/models/user_impact_website_time_threshold.py +103 -0
  465. instana_client/models/user_result.py +98 -0
  466. instana_client/models/users_result.py +106 -0
  467. instana_client/models/validated_alerting_channel_input_info.py +123 -0
  468. instana_client/models/validated_alerting_configuration.py +121 -0
  469. instana_client/models/validated_maintenance_config_v2_with_state_and_occurrence.py +135 -0
  470. instana_client/models/validated_maintenance_config_with_status.py +116 -0
  471. instana_client/models/victor_ops_integration.py +94 -0
  472. instana_client/models/violations_in_period_application_time_threshold.py +92 -0
  473. instana_client/models/violations_in_period_mobile_app_time_threshold.py +92 -0
  474. instana_client/models/violations_in_period_website_time_threshold.py +92 -0
  475. instana_client/models/violations_in_sequence_application_time_threshold.py +89 -0
  476. instana_client/models/violations_in_sequence_infra_time_threshold.py +89 -0
  477. instana_client/models/violations_in_sequence_log_time_threshold.py +89 -0
  478. instana_client/models/violations_in_sequence_mobile_app_time_threshold.py +89 -0
  479. instana_client/models/violations_in_sequence_synthetic_time_threshold.py +89 -0
  480. instana_client/models/violations_in_sequence_website_time_threshold.py +89 -0
  481. instana_client/models/watson_ai_ops_webhook_integration.py +94 -0
  482. instana_client/models/webex_teams_webhook_integration.py +92 -0
  483. instana_client/models/webhook_integration.py +94 -0
  484. instana_client/models/webpage_action_configuration.py +109 -0
  485. instana_client/models/webpage_script_configuration.py +109 -0
  486. instana_client/models/website.py +92 -0
  487. instana_client/models/website_alert_config.py +166 -0
  488. instana_client/models/website_alert_config_with_metadata.py +176 -0
  489. instana_client/models/website_alert_rule.py +132 -0
  490. instana_client/models/website_apdex_entity.py +107 -0
  491. instana_client/models/website_beacon_groups_item.py +95 -0
  492. instana_client/models/website_beacon_groups_result.py +111 -0
  493. instana_client/models/website_beacon_result.py +111 -0
  494. instana_client/models/website_beacon_tag_group.py +100 -0
  495. instana_client/models/website_beacons_item.py +94 -0
  496. instana_client/models/website_event_based_sli_entity.py +110 -0
  497. instana_client/models/website_event_result.py +108 -0
  498. instana_client/models/website_metric_result.py +88 -0
  499. instana_client/models/website_monitoring_beacon.py +301 -0
  500. instana_client/models/website_monitoring_metric_description.py +123 -0
  501. instana_client/models/website_monitoring_metrics_configuration.py +99 -0
  502. instana_client/models/website_slo_entity.py +104 -0
  503. instana_client/models/website_time_based_sli_entity.py +105 -0
  504. instana_client/models/website_time_threshold.py +115 -0
  505. instana_client/models/widget.py +103 -0
  506. instana_client/models/with_metadata.py +172 -0
  507. instana_client/models/with_resolved_name.py +102 -0
  508. instana_client/models/z_chat_ops_integration.py +97 -0
  509. instana_client/py.typed +0 -0
  510. instana_client/rest.py +258 -0
  511. instana_client-1.0.0.dist-info/METADATA +25 -0
  512. instana_client-1.0.0.dist-info/RECORD +515 -0
  513. instana_client-1.0.0.dist-info/WHEEL +5 -0
  514. instana_client-1.0.0.dist-info/licenses/LICENSE +202 -0
  515. instana_client-1.0.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,1825 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Instana REST API documentation
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 ```
7
+
8
+ The version of the OpenAPI document: 1.291.1002
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
+ import warnings
16
+ from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt
17
+ from typing import Any, Dict, List, Optional, Tuple, Union
18
+ from typing_extensions import Annotated
19
+
20
+ from pydantic import StrictBool, StrictInt, StrictStr, field_validator
21
+ from typing import List, Optional
22
+ from instana_client.models.paginated_result import PaginatedResult
23
+ from instana_client.models.service_level_objective_configuration import ServiceLevelObjectiveConfiguration
24
+
25
+ from instana_client.api_client import ApiClient, RequestSerialized
26
+ from instana_client.api_response import ApiResponse
27
+ from instana_client.rest import RESTResponseType
28
+
29
+
30
+ class ServiceLevelsObjectiveSLOConfigurationsApi:
31
+ """NOTE: This class is auto generated by OpenAPI Generator
32
+ Ref: https://openapi-generator.tech
33
+
34
+ Do not edit the class manually.
35
+ """
36
+
37
+ def __init__(self, api_client=None) -> None:
38
+ if api_client is None:
39
+ api_client = ApiClient.get_default()
40
+ self.api_client = api_client
41
+
42
+
43
+ @validate_call
44
+ def create_slo_config(
45
+ self,
46
+ service_level_objective_configuration: ServiceLevelObjectiveConfiguration,
47
+ _request_timeout: Union[
48
+ None,
49
+ Annotated[StrictFloat, Field(gt=0)],
50
+ Tuple[
51
+ Annotated[StrictFloat, Field(gt=0)],
52
+ Annotated[StrictFloat, Field(gt=0)]
53
+ ]
54
+ ] = None,
55
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
56
+ _content_type: Optional[StrictStr] = None,
57
+ _headers: Optional[Dict[StrictStr, Any]] = None,
58
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
59
+ ) -> ServiceLevelObjectiveConfiguration:
60
+ """Create a new SLO Config
61
+
62
+
63
+ :param service_level_objective_configuration: (required)
64
+ :type service_level_objective_configuration: ServiceLevelObjectiveConfiguration
65
+ :param _request_timeout: timeout setting for this request. If one
66
+ number provided, it will be total request
67
+ timeout. It can also be a pair (tuple) of
68
+ (connection, read) timeouts.
69
+ :type _request_timeout: int, tuple(int, int), optional
70
+ :param _request_auth: set to override the auth_settings for an a single
71
+ request; this effectively ignores the
72
+ authentication in the spec for a single request.
73
+ :type _request_auth: dict, optional
74
+ :param _content_type: force content-type for the request.
75
+ :type _content_type: str, Optional
76
+ :param _headers: set to override the headers for a single
77
+ request; this effectively ignores the headers
78
+ in the spec for a single request.
79
+ :type _headers: dict, optional
80
+ :param _host_index: set to override the host_index for a single
81
+ request; this effectively ignores the host_index
82
+ in the spec for a single request.
83
+ :type _host_index: int, optional
84
+ :return: Returns the result object.
85
+ """ # noqa: E501
86
+
87
+ _param = self._create_slo_config_serialize(
88
+ service_level_objective_configuration=service_level_objective_configuration,
89
+ _request_auth=_request_auth,
90
+ _content_type=_content_type,
91
+ _headers=_headers,
92
+ _host_index=_host_index
93
+ )
94
+
95
+ _response_types_map: Dict[str, Optional[str]] = {
96
+ '200': "ServiceLevelObjectiveConfiguration",
97
+ '400': "str",
98
+ }
99
+ response_data = self.api_client.call_api(
100
+ *_param,
101
+ _request_timeout=_request_timeout
102
+ )
103
+ response_data.read()
104
+ return self.api_client.response_deserialize(
105
+ response_data=response_data,
106
+ response_types_map=_response_types_map,
107
+ ).data
108
+
109
+
110
+ @validate_call
111
+ def create_slo_config_with_http_info(
112
+ self,
113
+ service_level_objective_configuration: ServiceLevelObjectiveConfiguration,
114
+ _request_timeout: Union[
115
+ None,
116
+ Annotated[StrictFloat, Field(gt=0)],
117
+ Tuple[
118
+ Annotated[StrictFloat, Field(gt=0)],
119
+ Annotated[StrictFloat, Field(gt=0)]
120
+ ]
121
+ ] = None,
122
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
123
+ _content_type: Optional[StrictStr] = None,
124
+ _headers: Optional[Dict[StrictStr, Any]] = None,
125
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
126
+ ) -> ApiResponse[ServiceLevelObjectiveConfiguration]:
127
+ """Create a new SLO Config
128
+
129
+
130
+ :param service_level_objective_configuration: (required)
131
+ :type service_level_objective_configuration: ServiceLevelObjectiveConfiguration
132
+ :param _request_timeout: timeout setting for this request. If one
133
+ number provided, it will be total request
134
+ timeout. It can also be a pair (tuple) of
135
+ (connection, read) timeouts.
136
+ :type _request_timeout: int, tuple(int, int), optional
137
+ :param _request_auth: set to override the auth_settings for an a single
138
+ request; this effectively ignores the
139
+ authentication in the spec for a single request.
140
+ :type _request_auth: dict, optional
141
+ :param _content_type: force content-type for the request.
142
+ :type _content_type: str, Optional
143
+ :param _headers: set to override the headers for a single
144
+ request; this effectively ignores the headers
145
+ in the spec for a single request.
146
+ :type _headers: dict, optional
147
+ :param _host_index: set to override the host_index for a single
148
+ request; this effectively ignores the host_index
149
+ in the spec for a single request.
150
+ :type _host_index: int, optional
151
+ :return: Returns the result object.
152
+ """ # noqa: E501
153
+
154
+ _param = self._create_slo_config_serialize(
155
+ service_level_objective_configuration=service_level_objective_configuration,
156
+ _request_auth=_request_auth,
157
+ _content_type=_content_type,
158
+ _headers=_headers,
159
+ _host_index=_host_index
160
+ )
161
+
162
+ _response_types_map: Dict[str, Optional[str]] = {
163
+ '200': "ServiceLevelObjectiveConfiguration",
164
+ '400': "str",
165
+ }
166
+ response_data = self.api_client.call_api(
167
+ *_param,
168
+ _request_timeout=_request_timeout
169
+ )
170
+ response_data.read()
171
+ return self.api_client.response_deserialize(
172
+ response_data=response_data,
173
+ response_types_map=_response_types_map,
174
+ )
175
+
176
+
177
+ @validate_call
178
+ def create_slo_config_without_preload_content(
179
+ self,
180
+ service_level_objective_configuration: ServiceLevelObjectiveConfiguration,
181
+ _request_timeout: Union[
182
+ None,
183
+ Annotated[StrictFloat, Field(gt=0)],
184
+ Tuple[
185
+ Annotated[StrictFloat, Field(gt=0)],
186
+ Annotated[StrictFloat, Field(gt=0)]
187
+ ]
188
+ ] = None,
189
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
190
+ _content_type: Optional[StrictStr] = None,
191
+ _headers: Optional[Dict[StrictStr, Any]] = None,
192
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
193
+ ) -> RESTResponseType:
194
+ """Create a new SLO Config
195
+
196
+
197
+ :param service_level_objective_configuration: (required)
198
+ :type service_level_objective_configuration: ServiceLevelObjectiveConfiguration
199
+ :param _request_timeout: timeout setting for this request. If one
200
+ number provided, it will be total request
201
+ timeout. It can also be a pair (tuple) of
202
+ (connection, read) timeouts.
203
+ :type _request_timeout: int, tuple(int, int), optional
204
+ :param _request_auth: set to override the auth_settings for an a single
205
+ request; this effectively ignores the
206
+ authentication in the spec for a single request.
207
+ :type _request_auth: dict, optional
208
+ :param _content_type: force content-type for the request.
209
+ :type _content_type: str, Optional
210
+ :param _headers: set to override the headers for a single
211
+ request; this effectively ignores the headers
212
+ in the spec for a single request.
213
+ :type _headers: dict, optional
214
+ :param _host_index: set to override the host_index for a single
215
+ request; this effectively ignores the host_index
216
+ in the spec for a single request.
217
+ :type _host_index: int, optional
218
+ :return: Returns the result object.
219
+ """ # noqa: E501
220
+
221
+ _param = self._create_slo_config_serialize(
222
+ service_level_objective_configuration=service_level_objective_configuration,
223
+ _request_auth=_request_auth,
224
+ _content_type=_content_type,
225
+ _headers=_headers,
226
+ _host_index=_host_index
227
+ )
228
+
229
+ _response_types_map: Dict[str, Optional[str]] = {
230
+ '200': "ServiceLevelObjectiveConfiguration",
231
+ '400': "str",
232
+ }
233
+ response_data = self.api_client.call_api(
234
+ *_param,
235
+ _request_timeout=_request_timeout
236
+ )
237
+ return response_data.response
238
+
239
+
240
+ def _create_slo_config_serialize(
241
+ self,
242
+ service_level_objective_configuration,
243
+ _request_auth,
244
+ _content_type,
245
+ _headers,
246
+ _host_index,
247
+ ) -> RequestSerialized:
248
+
249
+ _host = None
250
+
251
+ _collection_formats: Dict[str, str] = {
252
+ }
253
+
254
+ _path_params: Dict[str, str] = {}
255
+ _query_params: List[Tuple[str, str]] = []
256
+ _header_params: Dict[str, Optional[str]] = _headers or {}
257
+ _form_params: List[Tuple[str, str]] = []
258
+ _files: Dict[
259
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
260
+ ] = {}
261
+ _body_params: Optional[bytes] = None
262
+
263
+ # process the path parameters
264
+ # process the query parameters
265
+ # process the header parameters
266
+ # process the form parameters
267
+ # process the body parameter
268
+ if service_level_objective_configuration is not None:
269
+ _body_params = service_level_objective_configuration
270
+
271
+
272
+ # set the HTTP header `Accept`
273
+ if 'Accept' not in _header_params:
274
+ _header_params['Accept'] = self.api_client.select_header_accept(
275
+ [
276
+ 'application/json'
277
+ ]
278
+ )
279
+
280
+ # set the HTTP header `Content-Type`
281
+ if _content_type:
282
+ _header_params['Content-Type'] = _content_type
283
+ else:
284
+ _default_content_type = (
285
+ self.api_client.select_header_content_type(
286
+ [
287
+ 'application/json'
288
+ ]
289
+ )
290
+ )
291
+ if _default_content_type is not None:
292
+ _header_params['Content-Type'] = _default_content_type
293
+
294
+ # authentication setting
295
+ _auth_settings: List[str] = [
296
+ 'ApiKeyAuth'
297
+ ]
298
+
299
+ return self.api_client.param_serialize(
300
+ method='POST',
301
+ resource_path='/api/settings/slo',
302
+ path_params=_path_params,
303
+ query_params=_query_params,
304
+ header_params=_header_params,
305
+ body=_body_params,
306
+ post_params=_form_params,
307
+ files=_files,
308
+ auth_settings=_auth_settings,
309
+ collection_formats=_collection_formats,
310
+ _host=_host,
311
+ _request_auth=_request_auth
312
+ )
313
+
314
+
315
+
316
+
317
+ @validate_call
318
+ def delete_slo_config(
319
+ self,
320
+ id: StrictStr,
321
+ _request_timeout: Union[
322
+ None,
323
+ Annotated[StrictFloat, Field(gt=0)],
324
+ Tuple[
325
+ Annotated[StrictFloat, Field(gt=0)],
326
+ Annotated[StrictFloat, Field(gt=0)]
327
+ ]
328
+ ] = None,
329
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
330
+ _content_type: Optional[StrictStr] = None,
331
+ _headers: Optional[Dict[StrictStr, Any]] = None,
332
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
333
+ ) -> None:
334
+ """Delete an existing SLO Config
335
+
336
+
337
+ :param id: (required)
338
+ :type id: str
339
+ :param _request_timeout: timeout setting for this request. If one
340
+ number provided, it will be total request
341
+ timeout. It can also be a pair (tuple) of
342
+ (connection, read) timeouts.
343
+ :type _request_timeout: int, tuple(int, int), optional
344
+ :param _request_auth: set to override the auth_settings for an a single
345
+ request; this effectively ignores the
346
+ authentication in the spec for a single request.
347
+ :type _request_auth: dict, optional
348
+ :param _content_type: force content-type for the request.
349
+ :type _content_type: str, Optional
350
+ :param _headers: set to override the headers for a single
351
+ request; this effectively ignores the headers
352
+ in the spec for a single request.
353
+ :type _headers: dict, optional
354
+ :param _host_index: set to override the host_index for a single
355
+ request; this effectively ignores the host_index
356
+ in the spec for a single request.
357
+ :type _host_index: int, optional
358
+ :return: Returns the result object.
359
+ """ # noqa: E501
360
+
361
+ _param = self._delete_slo_config_serialize(
362
+ id=id,
363
+ _request_auth=_request_auth,
364
+ _content_type=_content_type,
365
+ _headers=_headers,
366
+ _host_index=_host_index
367
+ )
368
+
369
+ _response_types_map: Dict[str, Optional[str]] = {
370
+ '204': None,
371
+ }
372
+ response_data = self.api_client.call_api(
373
+ *_param,
374
+ _request_timeout=_request_timeout
375
+ )
376
+ response_data.read()
377
+ return self.api_client.response_deserialize(
378
+ response_data=response_data,
379
+ response_types_map=_response_types_map,
380
+ ).data
381
+
382
+
383
+ @validate_call
384
+ def delete_slo_config_with_http_info(
385
+ self,
386
+ id: StrictStr,
387
+ _request_timeout: Union[
388
+ None,
389
+ Annotated[StrictFloat, Field(gt=0)],
390
+ Tuple[
391
+ Annotated[StrictFloat, Field(gt=0)],
392
+ Annotated[StrictFloat, Field(gt=0)]
393
+ ]
394
+ ] = None,
395
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
396
+ _content_type: Optional[StrictStr] = None,
397
+ _headers: Optional[Dict[StrictStr, Any]] = None,
398
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
399
+ ) -> ApiResponse[None]:
400
+ """Delete an existing SLO Config
401
+
402
+
403
+ :param id: (required)
404
+ :type id: str
405
+ :param _request_timeout: timeout setting for this request. If one
406
+ number provided, it will be total request
407
+ timeout. It can also be a pair (tuple) of
408
+ (connection, read) timeouts.
409
+ :type _request_timeout: int, tuple(int, int), optional
410
+ :param _request_auth: set to override the auth_settings for an a single
411
+ request; this effectively ignores the
412
+ authentication in the spec for a single request.
413
+ :type _request_auth: dict, optional
414
+ :param _content_type: force content-type for the request.
415
+ :type _content_type: str, Optional
416
+ :param _headers: set to override the headers for a single
417
+ request; this effectively ignores the headers
418
+ in the spec for a single request.
419
+ :type _headers: dict, optional
420
+ :param _host_index: set to override the host_index for a single
421
+ request; this effectively ignores the host_index
422
+ in the spec for a single request.
423
+ :type _host_index: int, optional
424
+ :return: Returns the result object.
425
+ """ # noqa: E501
426
+
427
+ _param = self._delete_slo_config_serialize(
428
+ id=id,
429
+ _request_auth=_request_auth,
430
+ _content_type=_content_type,
431
+ _headers=_headers,
432
+ _host_index=_host_index
433
+ )
434
+
435
+ _response_types_map: Dict[str, Optional[str]] = {
436
+ '204': None,
437
+ }
438
+ response_data = self.api_client.call_api(
439
+ *_param,
440
+ _request_timeout=_request_timeout
441
+ )
442
+ response_data.read()
443
+ return self.api_client.response_deserialize(
444
+ response_data=response_data,
445
+ response_types_map=_response_types_map,
446
+ )
447
+
448
+
449
+ @validate_call
450
+ def delete_slo_config_without_preload_content(
451
+ self,
452
+ id: StrictStr,
453
+ _request_timeout: Union[
454
+ None,
455
+ Annotated[StrictFloat, Field(gt=0)],
456
+ Tuple[
457
+ Annotated[StrictFloat, Field(gt=0)],
458
+ Annotated[StrictFloat, Field(gt=0)]
459
+ ]
460
+ ] = None,
461
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
462
+ _content_type: Optional[StrictStr] = None,
463
+ _headers: Optional[Dict[StrictStr, Any]] = None,
464
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
465
+ ) -> RESTResponseType:
466
+ """Delete an existing SLO Config
467
+
468
+
469
+ :param id: (required)
470
+ :type id: str
471
+ :param _request_timeout: timeout setting for this request. If one
472
+ number provided, it will be total request
473
+ timeout. It can also be a pair (tuple) of
474
+ (connection, read) timeouts.
475
+ :type _request_timeout: int, tuple(int, int), optional
476
+ :param _request_auth: set to override the auth_settings for an a single
477
+ request; this effectively ignores the
478
+ authentication in the spec for a single request.
479
+ :type _request_auth: dict, optional
480
+ :param _content_type: force content-type for the request.
481
+ :type _content_type: str, Optional
482
+ :param _headers: set to override the headers for a single
483
+ request; this effectively ignores the headers
484
+ in the spec for a single request.
485
+ :type _headers: dict, optional
486
+ :param _host_index: set to override the host_index for a single
487
+ request; this effectively ignores the host_index
488
+ in the spec for a single request.
489
+ :type _host_index: int, optional
490
+ :return: Returns the result object.
491
+ """ # noqa: E501
492
+
493
+ _param = self._delete_slo_config_serialize(
494
+ id=id,
495
+ _request_auth=_request_auth,
496
+ _content_type=_content_type,
497
+ _headers=_headers,
498
+ _host_index=_host_index
499
+ )
500
+
501
+ _response_types_map: Dict[str, Optional[str]] = {
502
+ '204': None,
503
+ }
504
+ response_data = self.api_client.call_api(
505
+ *_param,
506
+ _request_timeout=_request_timeout
507
+ )
508
+ return response_data.response
509
+
510
+
511
+ def _delete_slo_config_serialize(
512
+ self,
513
+ id,
514
+ _request_auth,
515
+ _content_type,
516
+ _headers,
517
+ _host_index,
518
+ ) -> RequestSerialized:
519
+
520
+ _host = None
521
+
522
+ _collection_formats: Dict[str, str] = {
523
+ }
524
+
525
+ _path_params: Dict[str, str] = {}
526
+ _query_params: List[Tuple[str, str]] = []
527
+ _header_params: Dict[str, Optional[str]] = _headers or {}
528
+ _form_params: List[Tuple[str, str]] = []
529
+ _files: Dict[
530
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
531
+ ] = {}
532
+ _body_params: Optional[bytes] = None
533
+
534
+ # process the path parameters
535
+ if id is not None:
536
+ _path_params['id'] = id
537
+ # process the query parameters
538
+ # process the header parameters
539
+ # process the form parameters
540
+ # process the body parameter
541
+
542
+
543
+
544
+
545
+ # authentication setting
546
+ _auth_settings: List[str] = [
547
+ 'ApiKeyAuth'
548
+ ]
549
+
550
+ return self.api_client.param_serialize(
551
+ method='DELETE',
552
+ resource_path='/api/settings/slo/{id}',
553
+ path_params=_path_params,
554
+ query_params=_query_params,
555
+ header_params=_header_params,
556
+ body=_body_params,
557
+ post_params=_form_params,
558
+ files=_files,
559
+ auth_settings=_auth_settings,
560
+ collection_formats=_collection_formats,
561
+ _host=_host,
562
+ _request_auth=_request_auth
563
+ )
564
+
565
+
566
+
567
+
568
+ @validate_call
569
+ def get_all_slo_config_tags(
570
+ self,
571
+ query: Optional[StrictStr] = None,
572
+ tag: Optional[List[StrictStr]] = None,
573
+ entity_type: Optional[StrictStr] = None,
574
+ _request_timeout: Union[
575
+ None,
576
+ Annotated[StrictFloat, Field(gt=0)],
577
+ Tuple[
578
+ Annotated[StrictFloat, Field(gt=0)],
579
+ Annotated[StrictFloat, Field(gt=0)]
580
+ ]
581
+ ] = None,
582
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
583
+ _content_type: Optional[StrictStr] = None,
584
+ _headers: Optional[Dict[StrictStr, Any]] = None,
585
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
586
+ ) -> List[str]:
587
+ """Get All SLO Config tags
588
+
589
+
590
+ :param query:
591
+ :type query: str
592
+ :param tag:
593
+ :type tag: List[str]
594
+ :param entity_type:
595
+ :type entity_type: str
596
+ :param _request_timeout: timeout setting for this request. If one
597
+ number provided, it will be total request
598
+ timeout. It can also be a pair (tuple) of
599
+ (connection, read) timeouts.
600
+ :type _request_timeout: int, tuple(int, int), optional
601
+ :param _request_auth: set to override the auth_settings for an a single
602
+ request; this effectively ignores the
603
+ authentication in the spec for a single request.
604
+ :type _request_auth: dict, optional
605
+ :param _content_type: force content-type for the request.
606
+ :type _content_type: str, Optional
607
+ :param _headers: set to override the headers for a single
608
+ request; this effectively ignores the headers
609
+ in the spec for a single request.
610
+ :type _headers: dict, optional
611
+ :param _host_index: set to override the host_index for a single
612
+ request; this effectively ignores the host_index
613
+ in the spec for a single request.
614
+ :type _host_index: int, optional
615
+ :return: Returns the result object.
616
+ """ # noqa: E501
617
+
618
+ _param = self._get_all_slo_config_tags_serialize(
619
+ query=query,
620
+ tag=tag,
621
+ entity_type=entity_type,
622
+ _request_auth=_request_auth,
623
+ _content_type=_content_type,
624
+ _headers=_headers,
625
+ _host_index=_host_index
626
+ )
627
+
628
+ _response_types_map: Dict[str, Optional[str]] = {
629
+ '200': "List[str]",
630
+ }
631
+ response_data = self.api_client.call_api(
632
+ *_param,
633
+ _request_timeout=_request_timeout
634
+ )
635
+ response_data.read()
636
+ return self.api_client.response_deserialize(
637
+ response_data=response_data,
638
+ response_types_map=_response_types_map,
639
+ ).data
640
+
641
+
642
+ @validate_call
643
+ def get_all_slo_config_tags_with_http_info(
644
+ self,
645
+ query: Optional[StrictStr] = None,
646
+ tag: Optional[List[StrictStr]] = None,
647
+ entity_type: Optional[StrictStr] = None,
648
+ _request_timeout: Union[
649
+ None,
650
+ Annotated[StrictFloat, Field(gt=0)],
651
+ Tuple[
652
+ Annotated[StrictFloat, Field(gt=0)],
653
+ Annotated[StrictFloat, Field(gt=0)]
654
+ ]
655
+ ] = None,
656
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
657
+ _content_type: Optional[StrictStr] = None,
658
+ _headers: Optional[Dict[StrictStr, Any]] = None,
659
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
660
+ ) -> ApiResponse[List[str]]:
661
+ """Get All SLO Config tags
662
+
663
+
664
+ :param query:
665
+ :type query: str
666
+ :param tag:
667
+ :type tag: List[str]
668
+ :param entity_type:
669
+ :type entity_type: str
670
+ :param _request_timeout: timeout setting for this request. If one
671
+ number provided, it will be total request
672
+ timeout. It can also be a pair (tuple) of
673
+ (connection, read) timeouts.
674
+ :type _request_timeout: int, tuple(int, int), optional
675
+ :param _request_auth: set to override the auth_settings for an a single
676
+ request; this effectively ignores the
677
+ authentication in the spec for a single request.
678
+ :type _request_auth: dict, optional
679
+ :param _content_type: force content-type for the request.
680
+ :type _content_type: str, Optional
681
+ :param _headers: set to override the headers for a single
682
+ request; this effectively ignores the headers
683
+ in the spec for a single request.
684
+ :type _headers: dict, optional
685
+ :param _host_index: set to override the host_index for a single
686
+ request; this effectively ignores the host_index
687
+ in the spec for a single request.
688
+ :type _host_index: int, optional
689
+ :return: Returns the result object.
690
+ """ # noqa: E501
691
+
692
+ _param = self._get_all_slo_config_tags_serialize(
693
+ query=query,
694
+ tag=tag,
695
+ entity_type=entity_type,
696
+ _request_auth=_request_auth,
697
+ _content_type=_content_type,
698
+ _headers=_headers,
699
+ _host_index=_host_index
700
+ )
701
+
702
+ _response_types_map: Dict[str, Optional[str]] = {
703
+ '200': "List[str]",
704
+ }
705
+ response_data = self.api_client.call_api(
706
+ *_param,
707
+ _request_timeout=_request_timeout
708
+ )
709
+ response_data.read()
710
+ return self.api_client.response_deserialize(
711
+ response_data=response_data,
712
+ response_types_map=_response_types_map,
713
+ )
714
+
715
+
716
+ @validate_call
717
+ def get_all_slo_config_tags_without_preload_content(
718
+ self,
719
+ query: Optional[StrictStr] = None,
720
+ tag: Optional[List[StrictStr]] = None,
721
+ entity_type: Optional[StrictStr] = None,
722
+ _request_timeout: Union[
723
+ None,
724
+ Annotated[StrictFloat, Field(gt=0)],
725
+ Tuple[
726
+ Annotated[StrictFloat, Field(gt=0)],
727
+ Annotated[StrictFloat, Field(gt=0)]
728
+ ]
729
+ ] = None,
730
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
731
+ _content_type: Optional[StrictStr] = None,
732
+ _headers: Optional[Dict[StrictStr, Any]] = None,
733
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
734
+ ) -> RESTResponseType:
735
+ """Get All SLO Config tags
736
+
737
+
738
+ :param query:
739
+ :type query: str
740
+ :param tag:
741
+ :type tag: List[str]
742
+ :param entity_type:
743
+ :type entity_type: str
744
+ :param _request_timeout: timeout setting for this request. If one
745
+ number provided, it will be total request
746
+ timeout. It can also be a pair (tuple) of
747
+ (connection, read) timeouts.
748
+ :type _request_timeout: int, tuple(int, int), optional
749
+ :param _request_auth: set to override the auth_settings for an a single
750
+ request; this effectively ignores the
751
+ authentication in the spec for a single request.
752
+ :type _request_auth: dict, optional
753
+ :param _content_type: force content-type for the request.
754
+ :type _content_type: str, Optional
755
+ :param _headers: set to override the headers for a single
756
+ request; this effectively ignores the headers
757
+ in the spec for a single request.
758
+ :type _headers: dict, optional
759
+ :param _host_index: set to override the host_index for a single
760
+ request; this effectively ignores the host_index
761
+ in the spec for a single request.
762
+ :type _host_index: int, optional
763
+ :return: Returns the result object.
764
+ """ # noqa: E501
765
+
766
+ _param = self._get_all_slo_config_tags_serialize(
767
+ query=query,
768
+ tag=tag,
769
+ entity_type=entity_type,
770
+ _request_auth=_request_auth,
771
+ _content_type=_content_type,
772
+ _headers=_headers,
773
+ _host_index=_host_index
774
+ )
775
+
776
+ _response_types_map: Dict[str, Optional[str]] = {
777
+ '200': "List[str]",
778
+ }
779
+ response_data = self.api_client.call_api(
780
+ *_param,
781
+ _request_timeout=_request_timeout
782
+ )
783
+ return response_data.response
784
+
785
+
786
+ def _get_all_slo_config_tags_serialize(
787
+ self,
788
+ query,
789
+ tag,
790
+ entity_type,
791
+ _request_auth,
792
+ _content_type,
793
+ _headers,
794
+ _host_index,
795
+ ) -> RequestSerialized:
796
+
797
+ _host = None
798
+
799
+ _collection_formats: Dict[str, str] = {
800
+ 'tag': 'multi',
801
+ }
802
+
803
+ _path_params: Dict[str, str] = {}
804
+ _query_params: List[Tuple[str, str]] = []
805
+ _header_params: Dict[str, Optional[str]] = _headers or {}
806
+ _form_params: List[Tuple[str, str]] = []
807
+ _files: Dict[
808
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
809
+ ] = {}
810
+ _body_params: Optional[bytes] = None
811
+
812
+ # process the path parameters
813
+ # process the query parameters
814
+ if query is not None:
815
+
816
+ _query_params.append(('query', query))
817
+
818
+ if tag is not None:
819
+
820
+ _query_params.append(('tag', tag))
821
+
822
+ if entity_type is not None:
823
+
824
+ _query_params.append(('entityType', entity_type))
825
+
826
+ # process the header parameters
827
+ # process the form parameters
828
+ # process the body parameter
829
+
830
+
831
+ # set the HTTP header `Accept`
832
+ if 'Accept' not in _header_params:
833
+ _header_params['Accept'] = self.api_client.select_header_accept(
834
+ [
835
+ 'application/json'
836
+ ]
837
+ )
838
+
839
+
840
+ # authentication setting
841
+ _auth_settings: List[str] = [
842
+ 'ApiKeyAuth'
843
+ ]
844
+
845
+ return self.api_client.param_serialize(
846
+ method='GET',
847
+ resource_path='/api/settings/slo/tags',
848
+ path_params=_path_params,
849
+ query_params=_query_params,
850
+ header_params=_header_params,
851
+ body=_body_params,
852
+ post_params=_form_params,
853
+ files=_files,
854
+ auth_settings=_auth_settings,
855
+ collection_formats=_collection_formats,
856
+ _host=_host,
857
+ _request_auth=_request_auth
858
+ )
859
+
860
+
861
+
862
+
863
+ @validate_call
864
+ def get_all_slo_configs(
865
+ self,
866
+ page_size: Optional[StrictInt] = None,
867
+ page: Optional[StrictInt] = None,
868
+ query: Optional[StrictStr] = None,
869
+ tag: Optional[List[StrictStr]] = None,
870
+ entity_type: Optional[StrictStr] = None,
871
+ order_by: Optional[StrictStr] = None,
872
+ order_direction: Optional[StrictStr] = None,
873
+ slo_ids: Optional[List[StrictStr]] = None,
874
+ refresh: Optional[StrictBool] = None,
875
+ _request_timeout: Union[
876
+ None,
877
+ Annotated[StrictFloat, Field(gt=0)],
878
+ Tuple[
879
+ Annotated[StrictFloat, Field(gt=0)],
880
+ Annotated[StrictFloat, Field(gt=0)]
881
+ ]
882
+ ] = None,
883
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
884
+ _content_type: Optional[StrictStr] = None,
885
+ _headers: Optional[Dict[StrictStr, Any]] = None,
886
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
887
+ ) -> PaginatedResult:
888
+ """Get All SLO Configs
889
+
890
+
891
+ :param page_size:
892
+ :type page_size: int
893
+ :param page:
894
+ :type page: int
895
+ :param query:
896
+ :type query: str
897
+ :param tag:
898
+ :type tag: List[str]
899
+ :param entity_type:
900
+ :type entity_type: str
901
+ :param order_by:
902
+ :type order_by: str
903
+ :param order_direction:
904
+ :type order_direction: str
905
+ :param slo_ids:
906
+ :type slo_ids: List[str]
907
+ :param refresh:
908
+ :type refresh: bool
909
+ :param _request_timeout: timeout setting for this request. If one
910
+ number provided, it will be total request
911
+ timeout. It can also be a pair (tuple) of
912
+ (connection, read) timeouts.
913
+ :type _request_timeout: int, tuple(int, int), optional
914
+ :param _request_auth: set to override the auth_settings for an a single
915
+ request; this effectively ignores the
916
+ authentication in the spec for a single request.
917
+ :type _request_auth: dict, optional
918
+ :param _content_type: force content-type for the request.
919
+ :type _content_type: str, Optional
920
+ :param _headers: set to override the headers for a single
921
+ request; this effectively ignores the headers
922
+ in the spec for a single request.
923
+ :type _headers: dict, optional
924
+ :param _host_index: set to override the host_index for a single
925
+ request; this effectively ignores the host_index
926
+ in the spec for a single request.
927
+ :type _host_index: int, optional
928
+ :return: Returns the result object.
929
+ """ # noqa: E501
930
+
931
+ _param = self._get_all_slo_configs_serialize(
932
+ page_size=page_size,
933
+ page=page,
934
+ query=query,
935
+ tag=tag,
936
+ entity_type=entity_type,
937
+ order_by=order_by,
938
+ order_direction=order_direction,
939
+ slo_ids=slo_ids,
940
+ refresh=refresh,
941
+ _request_auth=_request_auth,
942
+ _content_type=_content_type,
943
+ _headers=_headers,
944
+ _host_index=_host_index
945
+ )
946
+
947
+ _response_types_map: Dict[str, Optional[str]] = {
948
+ '200': "PaginatedResult",
949
+ }
950
+ response_data = self.api_client.call_api(
951
+ *_param,
952
+ _request_timeout=_request_timeout
953
+ )
954
+ response_data.read()
955
+ return self.api_client.response_deserialize(
956
+ response_data=response_data,
957
+ response_types_map=_response_types_map,
958
+ ).data
959
+
960
+
961
+ @validate_call
962
+ def get_all_slo_configs_with_http_info(
963
+ self,
964
+ page_size: Optional[StrictInt] = None,
965
+ page: Optional[StrictInt] = None,
966
+ query: Optional[StrictStr] = None,
967
+ tag: Optional[List[StrictStr]] = None,
968
+ entity_type: Optional[StrictStr] = None,
969
+ order_by: Optional[StrictStr] = None,
970
+ order_direction: Optional[StrictStr] = None,
971
+ slo_ids: Optional[List[StrictStr]] = None,
972
+ refresh: Optional[StrictBool] = None,
973
+ _request_timeout: Union[
974
+ None,
975
+ Annotated[StrictFloat, Field(gt=0)],
976
+ Tuple[
977
+ Annotated[StrictFloat, Field(gt=0)],
978
+ Annotated[StrictFloat, Field(gt=0)]
979
+ ]
980
+ ] = None,
981
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
982
+ _content_type: Optional[StrictStr] = None,
983
+ _headers: Optional[Dict[StrictStr, Any]] = None,
984
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
985
+ ) -> ApiResponse[PaginatedResult]:
986
+ """Get All SLO Configs
987
+
988
+
989
+ :param page_size:
990
+ :type page_size: int
991
+ :param page:
992
+ :type page: int
993
+ :param query:
994
+ :type query: str
995
+ :param tag:
996
+ :type tag: List[str]
997
+ :param entity_type:
998
+ :type entity_type: str
999
+ :param order_by:
1000
+ :type order_by: str
1001
+ :param order_direction:
1002
+ :type order_direction: str
1003
+ :param slo_ids:
1004
+ :type slo_ids: List[str]
1005
+ :param refresh:
1006
+ :type refresh: bool
1007
+ :param _request_timeout: timeout setting for this request. If one
1008
+ number provided, it will be total request
1009
+ timeout. It can also be a pair (tuple) of
1010
+ (connection, read) timeouts.
1011
+ :type _request_timeout: int, tuple(int, int), optional
1012
+ :param _request_auth: set to override the auth_settings for an a single
1013
+ request; this effectively ignores the
1014
+ authentication in the spec for a single request.
1015
+ :type _request_auth: dict, optional
1016
+ :param _content_type: force content-type for the request.
1017
+ :type _content_type: str, Optional
1018
+ :param _headers: set to override the headers for a single
1019
+ request; this effectively ignores the headers
1020
+ in the spec for a single request.
1021
+ :type _headers: dict, optional
1022
+ :param _host_index: set to override the host_index for a single
1023
+ request; this effectively ignores the host_index
1024
+ in the spec for a single request.
1025
+ :type _host_index: int, optional
1026
+ :return: Returns the result object.
1027
+ """ # noqa: E501
1028
+
1029
+ _param = self._get_all_slo_configs_serialize(
1030
+ page_size=page_size,
1031
+ page=page,
1032
+ query=query,
1033
+ tag=tag,
1034
+ entity_type=entity_type,
1035
+ order_by=order_by,
1036
+ order_direction=order_direction,
1037
+ slo_ids=slo_ids,
1038
+ refresh=refresh,
1039
+ _request_auth=_request_auth,
1040
+ _content_type=_content_type,
1041
+ _headers=_headers,
1042
+ _host_index=_host_index
1043
+ )
1044
+
1045
+ _response_types_map: Dict[str, Optional[str]] = {
1046
+ '200': "PaginatedResult",
1047
+ }
1048
+ response_data = self.api_client.call_api(
1049
+ *_param,
1050
+ _request_timeout=_request_timeout
1051
+ )
1052
+ response_data.read()
1053
+ return self.api_client.response_deserialize(
1054
+ response_data=response_data,
1055
+ response_types_map=_response_types_map,
1056
+ )
1057
+
1058
+
1059
+ @validate_call
1060
+ def get_all_slo_configs_without_preload_content(
1061
+ self,
1062
+ page_size: Optional[StrictInt] = None,
1063
+ page: Optional[StrictInt] = None,
1064
+ query: Optional[StrictStr] = None,
1065
+ tag: Optional[List[StrictStr]] = None,
1066
+ entity_type: Optional[StrictStr] = None,
1067
+ order_by: Optional[StrictStr] = None,
1068
+ order_direction: Optional[StrictStr] = None,
1069
+ slo_ids: Optional[List[StrictStr]] = None,
1070
+ refresh: Optional[StrictBool] = None,
1071
+ _request_timeout: Union[
1072
+ None,
1073
+ Annotated[StrictFloat, Field(gt=0)],
1074
+ Tuple[
1075
+ Annotated[StrictFloat, Field(gt=0)],
1076
+ Annotated[StrictFloat, Field(gt=0)]
1077
+ ]
1078
+ ] = None,
1079
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1080
+ _content_type: Optional[StrictStr] = None,
1081
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1082
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1083
+ ) -> RESTResponseType:
1084
+ """Get All SLO Configs
1085
+
1086
+
1087
+ :param page_size:
1088
+ :type page_size: int
1089
+ :param page:
1090
+ :type page: int
1091
+ :param query:
1092
+ :type query: str
1093
+ :param tag:
1094
+ :type tag: List[str]
1095
+ :param entity_type:
1096
+ :type entity_type: str
1097
+ :param order_by:
1098
+ :type order_by: str
1099
+ :param order_direction:
1100
+ :type order_direction: str
1101
+ :param slo_ids:
1102
+ :type slo_ids: List[str]
1103
+ :param refresh:
1104
+ :type refresh: bool
1105
+ :param _request_timeout: timeout setting for this request. If one
1106
+ number provided, it will be total request
1107
+ timeout. It can also be a pair (tuple) of
1108
+ (connection, read) timeouts.
1109
+ :type _request_timeout: int, tuple(int, int), optional
1110
+ :param _request_auth: set to override the auth_settings for an a single
1111
+ request; this effectively ignores the
1112
+ authentication in the spec for a single request.
1113
+ :type _request_auth: dict, optional
1114
+ :param _content_type: force content-type for the request.
1115
+ :type _content_type: str, Optional
1116
+ :param _headers: set to override the headers for a single
1117
+ request; this effectively ignores the headers
1118
+ in the spec for a single request.
1119
+ :type _headers: dict, optional
1120
+ :param _host_index: set to override the host_index for a single
1121
+ request; this effectively ignores the host_index
1122
+ in the spec for a single request.
1123
+ :type _host_index: int, optional
1124
+ :return: Returns the result object.
1125
+ """ # noqa: E501
1126
+
1127
+ _param = self._get_all_slo_configs_serialize(
1128
+ page_size=page_size,
1129
+ page=page,
1130
+ query=query,
1131
+ tag=tag,
1132
+ entity_type=entity_type,
1133
+ order_by=order_by,
1134
+ order_direction=order_direction,
1135
+ slo_ids=slo_ids,
1136
+ refresh=refresh,
1137
+ _request_auth=_request_auth,
1138
+ _content_type=_content_type,
1139
+ _headers=_headers,
1140
+ _host_index=_host_index
1141
+ )
1142
+
1143
+ _response_types_map: Dict[str, Optional[str]] = {
1144
+ '200': "PaginatedResult",
1145
+ }
1146
+ response_data = self.api_client.call_api(
1147
+ *_param,
1148
+ _request_timeout=_request_timeout
1149
+ )
1150
+ return response_data.response
1151
+
1152
+
1153
+ def _get_all_slo_configs_serialize(
1154
+ self,
1155
+ page_size,
1156
+ page,
1157
+ query,
1158
+ tag,
1159
+ entity_type,
1160
+ order_by,
1161
+ order_direction,
1162
+ slo_ids,
1163
+ refresh,
1164
+ _request_auth,
1165
+ _content_type,
1166
+ _headers,
1167
+ _host_index,
1168
+ ) -> RequestSerialized:
1169
+
1170
+ _host = None
1171
+
1172
+ _collection_formats: Dict[str, str] = {
1173
+ 'tag': 'multi',
1174
+ 'sloIds': 'multi',
1175
+ }
1176
+
1177
+ _path_params: Dict[str, str] = {}
1178
+ _query_params: List[Tuple[str, str]] = []
1179
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1180
+ _form_params: List[Tuple[str, str]] = []
1181
+ _files: Dict[
1182
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1183
+ ] = {}
1184
+ _body_params: Optional[bytes] = None
1185
+
1186
+ # process the path parameters
1187
+ # process the query parameters
1188
+ if page_size is not None:
1189
+
1190
+ _query_params.append(('pageSize', page_size))
1191
+
1192
+ if page is not None:
1193
+
1194
+ _query_params.append(('page', page))
1195
+
1196
+ if query is not None:
1197
+
1198
+ _query_params.append(('query', query))
1199
+
1200
+ if tag is not None:
1201
+
1202
+ _query_params.append(('tag', tag))
1203
+
1204
+ if entity_type is not None:
1205
+
1206
+ _query_params.append(('entityType', entity_type))
1207
+
1208
+ if order_by is not None:
1209
+
1210
+ _query_params.append(('orderBy', order_by))
1211
+
1212
+ if order_direction is not None:
1213
+
1214
+ _query_params.append(('orderDirection', order_direction))
1215
+
1216
+ if slo_ids is not None:
1217
+
1218
+ _query_params.append(('sloIds', slo_ids))
1219
+
1220
+ if refresh is not None:
1221
+
1222
+ _query_params.append(('refresh', refresh))
1223
+
1224
+ # process the header parameters
1225
+ # process the form parameters
1226
+ # process the body parameter
1227
+
1228
+
1229
+ # set the HTTP header `Accept`
1230
+ if 'Accept' not in _header_params:
1231
+ _header_params['Accept'] = self.api_client.select_header_accept(
1232
+ [
1233
+ 'application/json'
1234
+ ]
1235
+ )
1236
+
1237
+
1238
+ # authentication setting
1239
+ _auth_settings: List[str] = [
1240
+ 'ApiKeyAuth'
1241
+ ]
1242
+
1243
+ return self.api_client.param_serialize(
1244
+ method='GET',
1245
+ resource_path='/api/settings/slo',
1246
+ path_params=_path_params,
1247
+ query_params=_query_params,
1248
+ header_params=_header_params,
1249
+ body=_body_params,
1250
+ post_params=_form_params,
1251
+ files=_files,
1252
+ auth_settings=_auth_settings,
1253
+ collection_formats=_collection_formats,
1254
+ _host=_host,
1255
+ _request_auth=_request_auth
1256
+ )
1257
+
1258
+
1259
+
1260
+
1261
+ @validate_call
1262
+ def get_slo_config_by_id(
1263
+ self,
1264
+ id: StrictStr,
1265
+ refresh: Optional[StrictBool] = None,
1266
+ _request_timeout: Union[
1267
+ None,
1268
+ Annotated[StrictFloat, Field(gt=0)],
1269
+ Tuple[
1270
+ Annotated[StrictFloat, Field(gt=0)],
1271
+ Annotated[StrictFloat, Field(gt=0)]
1272
+ ]
1273
+ ] = None,
1274
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1275
+ _content_type: Optional[StrictStr] = None,
1276
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1277
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1278
+ ) -> ServiceLevelObjectiveConfiguration:
1279
+ """Get an existing SLO Config
1280
+
1281
+
1282
+ :param id: (required)
1283
+ :type id: str
1284
+ :param refresh:
1285
+ :type refresh: bool
1286
+ :param _request_timeout: timeout setting for this request. If one
1287
+ number provided, it will be total request
1288
+ timeout. It can also be a pair (tuple) of
1289
+ (connection, read) timeouts.
1290
+ :type _request_timeout: int, tuple(int, int), optional
1291
+ :param _request_auth: set to override the auth_settings for an a single
1292
+ request; this effectively ignores the
1293
+ authentication in the spec for a single request.
1294
+ :type _request_auth: dict, optional
1295
+ :param _content_type: force content-type for the request.
1296
+ :type _content_type: str, Optional
1297
+ :param _headers: set to override the headers for a single
1298
+ request; this effectively ignores the headers
1299
+ in the spec for a single request.
1300
+ :type _headers: dict, optional
1301
+ :param _host_index: set to override the host_index for a single
1302
+ request; this effectively ignores the host_index
1303
+ in the spec for a single request.
1304
+ :type _host_index: int, optional
1305
+ :return: Returns the result object.
1306
+ """ # noqa: E501
1307
+
1308
+ _param = self._get_slo_config_by_id_serialize(
1309
+ id=id,
1310
+ refresh=refresh,
1311
+ _request_auth=_request_auth,
1312
+ _content_type=_content_type,
1313
+ _headers=_headers,
1314
+ _host_index=_host_index
1315
+ )
1316
+
1317
+ _response_types_map: Dict[str, Optional[str]] = {
1318
+ '200': "ServiceLevelObjectiveConfiguration",
1319
+ '404': "str",
1320
+ }
1321
+ response_data = self.api_client.call_api(
1322
+ *_param,
1323
+ _request_timeout=_request_timeout
1324
+ )
1325
+ response_data.read()
1326
+ return self.api_client.response_deserialize(
1327
+ response_data=response_data,
1328
+ response_types_map=_response_types_map,
1329
+ ).data
1330
+
1331
+
1332
+ @validate_call
1333
+ def get_slo_config_by_id_with_http_info(
1334
+ self,
1335
+ id: StrictStr,
1336
+ refresh: Optional[StrictBool] = None,
1337
+ _request_timeout: Union[
1338
+ None,
1339
+ Annotated[StrictFloat, Field(gt=0)],
1340
+ Tuple[
1341
+ Annotated[StrictFloat, Field(gt=0)],
1342
+ Annotated[StrictFloat, Field(gt=0)]
1343
+ ]
1344
+ ] = None,
1345
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1346
+ _content_type: Optional[StrictStr] = None,
1347
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1348
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1349
+ ) -> ApiResponse[ServiceLevelObjectiveConfiguration]:
1350
+ """Get an existing SLO Config
1351
+
1352
+
1353
+ :param id: (required)
1354
+ :type id: str
1355
+ :param refresh:
1356
+ :type refresh: bool
1357
+ :param _request_timeout: timeout setting for this request. If one
1358
+ number provided, it will be total request
1359
+ timeout. It can also be a pair (tuple) of
1360
+ (connection, read) timeouts.
1361
+ :type _request_timeout: int, tuple(int, int), optional
1362
+ :param _request_auth: set to override the auth_settings for an a single
1363
+ request; this effectively ignores the
1364
+ authentication in the spec for a single request.
1365
+ :type _request_auth: dict, optional
1366
+ :param _content_type: force content-type for the request.
1367
+ :type _content_type: str, Optional
1368
+ :param _headers: set to override the headers for a single
1369
+ request; this effectively ignores the headers
1370
+ in the spec for a single request.
1371
+ :type _headers: dict, optional
1372
+ :param _host_index: set to override the host_index for a single
1373
+ request; this effectively ignores the host_index
1374
+ in the spec for a single request.
1375
+ :type _host_index: int, optional
1376
+ :return: Returns the result object.
1377
+ """ # noqa: E501
1378
+
1379
+ _param = self._get_slo_config_by_id_serialize(
1380
+ id=id,
1381
+ refresh=refresh,
1382
+ _request_auth=_request_auth,
1383
+ _content_type=_content_type,
1384
+ _headers=_headers,
1385
+ _host_index=_host_index
1386
+ )
1387
+
1388
+ _response_types_map: Dict[str, Optional[str]] = {
1389
+ '200': "ServiceLevelObjectiveConfiguration",
1390
+ '404': "str",
1391
+ }
1392
+ response_data = self.api_client.call_api(
1393
+ *_param,
1394
+ _request_timeout=_request_timeout
1395
+ )
1396
+ response_data.read()
1397
+ return self.api_client.response_deserialize(
1398
+ response_data=response_data,
1399
+ response_types_map=_response_types_map,
1400
+ )
1401
+
1402
+
1403
+ @validate_call
1404
+ def get_slo_config_by_id_without_preload_content(
1405
+ self,
1406
+ id: StrictStr,
1407
+ refresh: Optional[StrictBool] = None,
1408
+ _request_timeout: Union[
1409
+ None,
1410
+ Annotated[StrictFloat, Field(gt=0)],
1411
+ Tuple[
1412
+ Annotated[StrictFloat, Field(gt=0)],
1413
+ Annotated[StrictFloat, Field(gt=0)]
1414
+ ]
1415
+ ] = None,
1416
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1417
+ _content_type: Optional[StrictStr] = None,
1418
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1419
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1420
+ ) -> RESTResponseType:
1421
+ """Get an existing SLO Config
1422
+
1423
+
1424
+ :param id: (required)
1425
+ :type id: str
1426
+ :param refresh:
1427
+ :type refresh: bool
1428
+ :param _request_timeout: timeout setting for this request. If one
1429
+ number provided, it will be total request
1430
+ timeout. It can also be a pair (tuple) of
1431
+ (connection, read) timeouts.
1432
+ :type _request_timeout: int, tuple(int, int), optional
1433
+ :param _request_auth: set to override the auth_settings for an a single
1434
+ request; this effectively ignores the
1435
+ authentication in the spec for a single request.
1436
+ :type _request_auth: dict, optional
1437
+ :param _content_type: force content-type for the request.
1438
+ :type _content_type: str, Optional
1439
+ :param _headers: set to override the headers for a single
1440
+ request; this effectively ignores the headers
1441
+ in the spec for a single request.
1442
+ :type _headers: dict, optional
1443
+ :param _host_index: set to override the host_index for a single
1444
+ request; this effectively ignores the host_index
1445
+ in the spec for a single request.
1446
+ :type _host_index: int, optional
1447
+ :return: Returns the result object.
1448
+ """ # noqa: E501
1449
+
1450
+ _param = self._get_slo_config_by_id_serialize(
1451
+ id=id,
1452
+ refresh=refresh,
1453
+ _request_auth=_request_auth,
1454
+ _content_type=_content_type,
1455
+ _headers=_headers,
1456
+ _host_index=_host_index
1457
+ )
1458
+
1459
+ _response_types_map: Dict[str, Optional[str]] = {
1460
+ '200': "ServiceLevelObjectiveConfiguration",
1461
+ '404': "str",
1462
+ }
1463
+ response_data = self.api_client.call_api(
1464
+ *_param,
1465
+ _request_timeout=_request_timeout
1466
+ )
1467
+ return response_data.response
1468
+
1469
+
1470
+ def _get_slo_config_by_id_serialize(
1471
+ self,
1472
+ id,
1473
+ refresh,
1474
+ _request_auth,
1475
+ _content_type,
1476
+ _headers,
1477
+ _host_index,
1478
+ ) -> RequestSerialized:
1479
+
1480
+ _host = None
1481
+
1482
+ _collection_formats: Dict[str, str] = {
1483
+ }
1484
+
1485
+ _path_params: Dict[str, str] = {}
1486
+ _query_params: List[Tuple[str, str]] = []
1487
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1488
+ _form_params: List[Tuple[str, str]] = []
1489
+ _files: Dict[
1490
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1491
+ ] = {}
1492
+ _body_params: Optional[bytes] = None
1493
+
1494
+ # process the path parameters
1495
+ if id is not None:
1496
+ _path_params['id'] = id
1497
+ # process the query parameters
1498
+ if refresh is not None:
1499
+
1500
+ _query_params.append(('refresh', refresh))
1501
+
1502
+ # process the header parameters
1503
+ # process the form parameters
1504
+ # process the body parameter
1505
+
1506
+
1507
+ # set the HTTP header `Accept`
1508
+ if 'Accept' not in _header_params:
1509
+ _header_params['Accept'] = self.api_client.select_header_accept(
1510
+ [
1511
+ 'application/json'
1512
+ ]
1513
+ )
1514
+
1515
+
1516
+ # authentication setting
1517
+ _auth_settings: List[str] = [
1518
+ 'ApiKeyAuth'
1519
+ ]
1520
+
1521
+ return self.api_client.param_serialize(
1522
+ method='GET',
1523
+ resource_path='/api/settings/slo/{id}',
1524
+ path_params=_path_params,
1525
+ query_params=_query_params,
1526
+ header_params=_header_params,
1527
+ body=_body_params,
1528
+ post_params=_form_params,
1529
+ files=_files,
1530
+ auth_settings=_auth_settings,
1531
+ collection_formats=_collection_formats,
1532
+ _host=_host,
1533
+ _request_auth=_request_auth
1534
+ )
1535
+
1536
+
1537
+
1538
+
1539
+ @validate_call
1540
+ def update_slo_config(
1541
+ self,
1542
+ id: StrictStr,
1543
+ service_level_objective_configuration: ServiceLevelObjectiveConfiguration,
1544
+ _request_timeout: Union[
1545
+ None,
1546
+ Annotated[StrictFloat, Field(gt=0)],
1547
+ Tuple[
1548
+ Annotated[StrictFloat, Field(gt=0)],
1549
+ Annotated[StrictFloat, Field(gt=0)]
1550
+ ]
1551
+ ] = None,
1552
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1553
+ _content_type: Optional[StrictStr] = None,
1554
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1555
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1556
+ ) -> ServiceLevelObjectiveConfiguration:
1557
+ """Update an existing SLO Config
1558
+
1559
+
1560
+ :param id: (required)
1561
+ :type id: str
1562
+ :param service_level_objective_configuration: (required)
1563
+ :type service_level_objective_configuration: ServiceLevelObjectiveConfiguration
1564
+ :param _request_timeout: timeout setting for this request. If one
1565
+ number provided, it will be total request
1566
+ timeout. It can also be a pair (tuple) of
1567
+ (connection, read) timeouts.
1568
+ :type _request_timeout: int, tuple(int, int), optional
1569
+ :param _request_auth: set to override the auth_settings for an a single
1570
+ request; this effectively ignores the
1571
+ authentication in the spec for a single request.
1572
+ :type _request_auth: dict, optional
1573
+ :param _content_type: force content-type for the request.
1574
+ :type _content_type: str, Optional
1575
+ :param _headers: set to override the headers for a single
1576
+ request; this effectively ignores the headers
1577
+ in the spec for a single request.
1578
+ :type _headers: dict, optional
1579
+ :param _host_index: set to override the host_index for a single
1580
+ request; this effectively ignores the host_index
1581
+ in the spec for a single request.
1582
+ :type _host_index: int, optional
1583
+ :return: Returns the result object.
1584
+ """ # noqa: E501
1585
+
1586
+ _param = self._update_slo_config_serialize(
1587
+ id=id,
1588
+ service_level_objective_configuration=service_level_objective_configuration,
1589
+ _request_auth=_request_auth,
1590
+ _content_type=_content_type,
1591
+ _headers=_headers,
1592
+ _host_index=_host_index
1593
+ )
1594
+
1595
+ _response_types_map: Dict[str, Optional[str]] = {
1596
+ '200': "ServiceLevelObjectiveConfiguration",
1597
+ '404': "str",
1598
+ }
1599
+ response_data = self.api_client.call_api(
1600
+ *_param,
1601
+ _request_timeout=_request_timeout
1602
+ )
1603
+ response_data.read()
1604
+ return self.api_client.response_deserialize(
1605
+ response_data=response_data,
1606
+ response_types_map=_response_types_map,
1607
+ ).data
1608
+
1609
+
1610
+ @validate_call
1611
+ def update_slo_config_with_http_info(
1612
+ self,
1613
+ id: StrictStr,
1614
+ service_level_objective_configuration: ServiceLevelObjectiveConfiguration,
1615
+ _request_timeout: Union[
1616
+ None,
1617
+ Annotated[StrictFloat, Field(gt=0)],
1618
+ Tuple[
1619
+ Annotated[StrictFloat, Field(gt=0)],
1620
+ Annotated[StrictFloat, Field(gt=0)]
1621
+ ]
1622
+ ] = None,
1623
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1624
+ _content_type: Optional[StrictStr] = None,
1625
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1626
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1627
+ ) -> ApiResponse[ServiceLevelObjectiveConfiguration]:
1628
+ """Update an existing SLO Config
1629
+
1630
+
1631
+ :param id: (required)
1632
+ :type id: str
1633
+ :param service_level_objective_configuration: (required)
1634
+ :type service_level_objective_configuration: ServiceLevelObjectiveConfiguration
1635
+ :param _request_timeout: timeout setting for this request. If one
1636
+ number provided, it will be total request
1637
+ timeout. It can also be a pair (tuple) of
1638
+ (connection, read) timeouts.
1639
+ :type _request_timeout: int, tuple(int, int), optional
1640
+ :param _request_auth: set to override the auth_settings for an a single
1641
+ request; this effectively ignores the
1642
+ authentication in the spec for a single request.
1643
+ :type _request_auth: dict, optional
1644
+ :param _content_type: force content-type for the request.
1645
+ :type _content_type: str, Optional
1646
+ :param _headers: set to override the headers for a single
1647
+ request; this effectively ignores the headers
1648
+ in the spec for a single request.
1649
+ :type _headers: dict, optional
1650
+ :param _host_index: set to override the host_index for a single
1651
+ request; this effectively ignores the host_index
1652
+ in the spec for a single request.
1653
+ :type _host_index: int, optional
1654
+ :return: Returns the result object.
1655
+ """ # noqa: E501
1656
+
1657
+ _param = self._update_slo_config_serialize(
1658
+ id=id,
1659
+ service_level_objective_configuration=service_level_objective_configuration,
1660
+ _request_auth=_request_auth,
1661
+ _content_type=_content_type,
1662
+ _headers=_headers,
1663
+ _host_index=_host_index
1664
+ )
1665
+
1666
+ _response_types_map: Dict[str, Optional[str]] = {
1667
+ '200': "ServiceLevelObjectiveConfiguration",
1668
+ '404': "str",
1669
+ }
1670
+ response_data = self.api_client.call_api(
1671
+ *_param,
1672
+ _request_timeout=_request_timeout
1673
+ )
1674
+ response_data.read()
1675
+ return self.api_client.response_deserialize(
1676
+ response_data=response_data,
1677
+ response_types_map=_response_types_map,
1678
+ )
1679
+
1680
+
1681
+ @validate_call
1682
+ def update_slo_config_without_preload_content(
1683
+ self,
1684
+ id: StrictStr,
1685
+ service_level_objective_configuration: ServiceLevelObjectiveConfiguration,
1686
+ _request_timeout: Union[
1687
+ None,
1688
+ Annotated[StrictFloat, Field(gt=0)],
1689
+ Tuple[
1690
+ Annotated[StrictFloat, Field(gt=0)],
1691
+ Annotated[StrictFloat, Field(gt=0)]
1692
+ ]
1693
+ ] = None,
1694
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1695
+ _content_type: Optional[StrictStr] = None,
1696
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1697
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1698
+ ) -> RESTResponseType:
1699
+ """Update an existing SLO Config
1700
+
1701
+
1702
+ :param id: (required)
1703
+ :type id: str
1704
+ :param service_level_objective_configuration: (required)
1705
+ :type service_level_objective_configuration: ServiceLevelObjectiveConfiguration
1706
+ :param _request_timeout: timeout setting for this request. If one
1707
+ number provided, it will be total request
1708
+ timeout. It can also be a pair (tuple) of
1709
+ (connection, read) timeouts.
1710
+ :type _request_timeout: int, tuple(int, int), optional
1711
+ :param _request_auth: set to override the auth_settings for an a single
1712
+ request; this effectively ignores the
1713
+ authentication in the spec for a single request.
1714
+ :type _request_auth: dict, optional
1715
+ :param _content_type: force content-type for the request.
1716
+ :type _content_type: str, Optional
1717
+ :param _headers: set to override the headers for a single
1718
+ request; this effectively ignores the headers
1719
+ in the spec for a single request.
1720
+ :type _headers: dict, optional
1721
+ :param _host_index: set to override the host_index for a single
1722
+ request; this effectively ignores the host_index
1723
+ in the spec for a single request.
1724
+ :type _host_index: int, optional
1725
+ :return: Returns the result object.
1726
+ """ # noqa: E501
1727
+
1728
+ _param = self._update_slo_config_serialize(
1729
+ id=id,
1730
+ service_level_objective_configuration=service_level_objective_configuration,
1731
+ _request_auth=_request_auth,
1732
+ _content_type=_content_type,
1733
+ _headers=_headers,
1734
+ _host_index=_host_index
1735
+ )
1736
+
1737
+ _response_types_map: Dict[str, Optional[str]] = {
1738
+ '200': "ServiceLevelObjectiveConfiguration",
1739
+ '404': "str",
1740
+ }
1741
+ response_data = self.api_client.call_api(
1742
+ *_param,
1743
+ _request_timeout=_request_timeout
1744
+ )
1745
+ return response_data.response
1746
+
1747
+
1748
+ def _update_slo_config_serialize(
1749
+ self,
1750
+ id,
1751
+ service_level_objective_configuration,
1752
+ _request_auth,
1753
+ _content_type,
1754
+ _headers,
1755
+ _host_index,
1756
+ ) -> RequestSerialized:
1757
+
1758
+ _host = None
1759
+
1760
+ _collection_formats: Dict[str, str] = {
1761
+ }
1762
+
1763
+ _path_params: Dict[str, str] = {}
1764
+ _query_params: List[Tuple[str, str]] = []
1765
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1766
+ _form_params: List[Tuple[str, str]] = []
1767
+ _files: Dict[
1768
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1769
+ ] = {}
1770
+ _body_params: Optional[bytes] = None
1771
+
1772
+ # process the path parameters
1773
+ if id is not None:
1774
+ _path_params['id'] = id
1775
+ # process the query parameters
1776
+ # process the header parameters
1777
+ # process the form parameters
1778
+ # process the body parameter
1779
+ if service_level_objective_configuration is not None:
1780
+ _body_params = service_level_objective_configuration
1781
+
1782
+
1783
+ # set the HTTP header `Accept`
1784
+ if 'Accept' not in _header_params:
1785
+ _header_params['Accept'] = self.api_client.select_header_accept(
1786
+ [
1787
+ 'application/json'
1788
+ ]
1789
+ )
1790
+
1791
+ # set the HTTP header `Content-Type`
1792
+ if _content_type:
1793
+ _header_params['Content-Type'] = _content_type
1794
+ else:
1795
+ _default_content_type = (
1796
+ self.api_client.select_header_content_type(
1797
+ [
1798
+ 'application/json'
1799
+ ]
1800
+ )
1801
+ )
1802
+ if _default_content_type is not None:
1803
+ _header_params['Content-Type'] = _default_content_type
1804
+
1805
+ # authentication setting
1806
+ _auth_settings: List[str] = [
1807
+ 'ApiKeyAuth'
1808
+ ]
1809
+
1810
+ return self.api_client.param_serialize(
1811
+ method='PUT',
1812
+ resource_path='/api/settings/slo/{id}',
1813
+ path_params=_path_params,
1814
+ query_params=_query_params,
1815
+ header_params=_header_params,
1816
+ body=_body_params,
1817
+ post_params=_form_params,
1818
+ files=_files,
1819
+ auth_settings=_auth_settings,
1820
+ collection_formats=_collection_formats,
1821
+ _host=_host,
1822
+ _request_auth=_request_auth
1823
+ )
1824
+
1825
+