instana-client 1.0.0__py3-none-any.whl → 1.0.1__py3-none-any.whl

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