quantcdn-client 4.8.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (323) hide show
  1. quantcdn/__init__.py +341 -0
  2. quantcdn/__version__.py +2 -0
  3. quantcdn/api/__init__.py +32 -0
  4. quantcdn/api/ai_agents_api.py +1831 -0
  5. quantcdn/api/ai_custom_tools_api.py +894 -0
  6. quantcdn/api/ai_inference_api.py +1224 -0
  7. quantcdn/api/ai_models_api.py +600 -0
  8. quantcdn/api/ai_monitoring_api.py +317 -0
  9. quantcdn/api/ai_sessions_api.py +1875 -0
  10. quantcdn/api/ai_tools_api.py +1165 -0
  11. quantcdn/api/ai_vector_database_api.py +1816 -0
  12. quantcdn/api/applications_api.py +1394 -0
  13. quantcdn/api/backup_management_api.py +1440 -0
  14. quantcdn/api/commands_api.py +901 -0
  15. quantcdn/api/compose_api.py +968 -0
  16. quantcdn/api/containers_api.py +649 -0
  17. quantcdn/api/crawler_schedules_api.py +1611 -0
  18. quantcdn/api/crawlers_api.py +2479 -0
  19. quantcdn/api/cron_api.py +2212 -0
  20. quantcdn/api/domains_api.py +1508 -0
  21. quantcdn/api/environments_api.py +3256 -0
  22. quantcdn/api/headers_api.py +932 -0
  23. quantcdn/api/kv_api.py +2868 -0
  24. quantcdn/api/organizations_api.py +556 -0
  25. quantcdn/api/projects_api.py +1478 -0
  26. quantcdn/api/purge_api.py +345 -0
  27. quantcdn/api/rules_api.py +13520 -0
  28. quantcdn/api/scaling_policy_api.py +924 -0
  29. quantcdn/api/ssh_access_api.py +335 -0
  30. quantcdn/api/variables_api.py +1255 -0
  31. quantcdn/api/volumes_api.py +1254 -0
  32. quantcdn/api_client.py +797 -0
  33. quantcdn/api_response.py +21 -0
  34. quantcdn/configuration.py +586 -0
  35. quantcdn/exceptions.py +216 -0
  36. quantcdn/models/__init__.py +297 -0
  37. quantcdn/models/application.py +200 -0
  38. quantcdn/models/application_database.py +103 -0
  39. quantcdn/models/application_deployment_information_inner.py +96 -0
  40. quantcdn/models/application_environments_inner.py +93 -0
  41. quantcdn/models/application_filesystem.py +89 -0
  42. quantcdn/models/application_image_reference.py +99 -0
  43. quantcdn/models/bulk_set_environment_variables_request.py +95 -0
  44. quantcdn/models/bulk_set_environment_variables_request_environment_inner.py +89 -0
  45. quantcdn/models/chat_inference200_response.py +113 -0
  46. quantcdn/models/chat_inference200_response_response.py +105 -0
  47. quantcdn/models/chat_inference200_response_response_tool_use.py +141 -0
  48. quantcdn/models/chat_inference200_response_response_tool_use_one_of.py +101 -0
  49. quantcdn/models/chat_inference200_response_response_tool_use_one_of1_inner.py +97 -0
  50. quantcdn/models/chat_inference200_response_response_tool_use_one_of_result.py +89 -0
  51. quantcdn/models/chat_inference200_response_usage.py +91 -0
  52. quantcdn/models/chat_inference_request.py +122 -0
  53. quantcdn/models/chat_inference_request_messages_inner.py +100 -0
  54. quantcdn/models/chat_inference_request_messages_inner_content.py +144 -0
  55. quantcdn/models/chat_inference_request_messages_inner_content_one_of_inner.py +165 -0
  56. quantcdn/models/chat_inference_request_messages_inner_content_one_of_inner_one_of.py +87 -0
  57. quantcdn/models/chat_inference_request_messages_inner_content_one_of_inner_one_of1.py +91 -0
  58. quantcdn/models/chat_inference_request_messages_inner_content_one_of_inner_one_of1_image.py +100 -0
  59. quantcdn/models/chat_inference_request_messages_inner_content_one_of_inner_one_of1_image_source.py +87 -0
  60. quantcdn/models/chat_inference_request_messages_inner_content_one_of_inner_one_of2.py +91 -0
  61. quantcdn/models/chat_inference_request_messages_inner_content_one_of_inner_one_of2_video.py +100 -0
  62. quantcdn/models/chat_inference_request_messages_inner_content_one_of_inner_one_of2_video_source.py +87 -0
  63. quantcdn/models/chat_inference_request_messages_inner_content_one_of_inner_one_of3.py +91 -0
  64. quantcdn/models/chat_inference_request_messages_inner_content_one_of_inner_one_of3_document.py +102 -0
  65. quantcdn/models/chat_inference_request_messages_inner_content_one_of_inner_one_of3_document_source.py +87 -0
  66. quantcdn/models/chat_inference_request_response_format.py +99 -0
  67. quantcdn/models/chat_inference_request_tool_config.py +99 -0
  68. quantcdn/models/chat_inference_request_tool_config_tools_inner.py +91 -0
  69. quantcdn/models/chat_inference_request_tool_config_tools_inner_tool_spec.py +95 -0
  70. quantcdn/models/chat_inference_request_tool_config_tools_inner_tool_spec_input_schema.py +87 -0
  71. quantcdn/models/chat_inference_stream_request.py +120 -0
  72. quantcdn/models/chat_inference_stream_request_messages_inner.py +100 -0
  73. quantcdn/models/chat_inference_stream_request_messages_inner_content.py +143 -0
  74. quantcdn/models/chat_with_ai_agent200_response.py +93 -0
  75. quantcdn/models/chat_with_ai_agent200_response_response.py +97 -0
  76. quantcdn/models/chat_with_ai_agent200_response_response_usage.py +89 -0
  77. quantcdn/models/chat_with_ai_agent_request.py +93 -0
  78. quantcdn/models/command.py +105 -0
  79. quantcdn/models/compose.py +125 -0
  80. quantcdn/models/container.py +260 -0
  81. quantcdn/models/container_depends_on_inner.py +99 -0
  82. quantcdn/models/container_environment_inner.py +89 -0
  83. quantcdn/models/container_health_check.py +101 -0
  84. quantcdn/models/container_image_reference.py +96 -0
  85. quantcdn/models/container_mount_points_inner.py +91 -0
  86. quantcdn/models/container_origin_protection_config.py +94 -0
  87. quantcdn/models/container_secrets_inner.py +89 -0
  88. quantcdn/models/crawlers_run200_response.py +87 -0
  89. quantcdn/models/crawlers_run_request.py +87 -0
  90. quantcdn/models/create_ai_agent201_response.py +91 -0
  91. quantcdn/models/create_ai_agent_request.py +106 -0
  92. quantcdn/models/create_ai_session201_response.py +104 -0
  93. quantcdn/models/create_ai_session_request.py +104 -0
  94. quantcdn/models/create_ai_session_request_initial_messages_inner.py +99 -0
  95. quantcdn/models/create_application403_response.py +89 -0
  96. quantcdn/models/create_application_request.py +144 -0
  97. quantcdn/models/create_application_request_database.py +103 -0
  98. quantcdn/models/create_application_request_environment_inner.py +89 -0
  99. quantcdn/models/create_application_request_filesystem.py +89 -0
  100. quantcdn/models/create_backup202_response.py +91 -0
  101. quantcdn/models/create_backup_request.py +87 -0
  102. quantcdn/models/create_command_request.py +87 -0
  103. quantcdn/models/create_cron_job_request.py +112 -0
  104. quantcdn/models/create_custom_tool201_response.py +91 -0
  105. quantcdn/models/create_custom_tool_request.py +98 -0
  106. quantcdn/models/create_environment403_response.py +89 -0
  107. quantcdn/models/create_environment_request.py +130 -0
  108. quantcdn/models/create_environment_request_environment_inner.py +89 -0
  109. quantcdn/models/create_vector_collection201_response.py +95 -0
  110. quantcdn/models/create_vector_collection201_response_collection.py +95 -0
  111. quantcdn/models/create_vector_collection_request.py +93 -0
  112. quantcdn/models/create_volume_request.py +101 -0
  113. quantcdn/models/cron.py +91 -0
  114. quantcdn/models/cron_run.py +156 -0
  115. quantcdn/models/delete_ai_agent200_response.py +89 -0
  116. quantcdn/models/delete_ai_session200_response.py +87 -0
  117. quantcdn/models/delete_backup200_response.py +89 -0
  118. quantcdn/models/delete_custom_tool200_response.py +89 -0
  119. quantcdn/models/delete_vector_collection200_response.py +89 -0
  120. quantcdn/models/download_backup200_response.py +92 -0
  121. quantcdn/models/embeddings200_response.py +101 -0
  122. quantcdn/models/embeddings200_response_embeddings.py +143 -0
  123. quantcdn/models/embeddings200_response_usage.py +89 -0
  124. quantcdn/models/embeddings_request.py +107 -0
  125. quantcdn/models/embeddings_request_input.py +143 -0
  126. quantcdn/models/environment.py +108 -0
  127. quantcdn/models/environment_response.py +171 -0
  128. quantcdn/models/environment_summary.py +109 -0
  129. quantcdn/models/extend_ai_session200_response.py +92 -0
  130. quantcdn/models/extend_ai_session_request.py +88 -0
  131. quantcdn/models/get_ai_agent200_response.py +91 -0
  132. quantcdn/models/get_ai_agent200_response_agent.py +112 -0
  133. quantcdn/models/get_ai_model200_response.py +116 -0
  134. quantcdn/models/get_ai_model200_response_capabilities.py +95 -0
  135. quantcdn/models/get_ai_model200_response_pricing.py +91 -0
  136. quantcdn/models/get_ai_model404_response.py +89 -0
  137. quantcdn/models/get_ai_session200_response.py +96 -0
  138. quantcdn/models/get_ai_tool_execution_status200_response.py +107 -0
  139. quantcdn/models/get_ai_tool_execution_status200_response_result.py +89 -0
  140. quantcdn/models/get_ai_tool_execution_status404_response.py +89 -0
  141. quantcdn/models/get_ai_usage_stats200_response.py +104 -0
  142. quantcdn/models/get_ai_usage_stats200_response_by_model_value.py +89 -0
  143. quantcdn/models/get_ecr_login_credentials200_response.py +93 -0
  144. quantcdn/models/get_environment_logs200_response.py +102 -0
  145. quantcdn/models/get_environment_logs200_response_log_events_inner.py +89 -0
  146. quantcdn/models/get_ssh_access_credentials200_response.py +107 -0
  147. quantcdn/models/get_ssh_access_credentials200_response_credentials.py +94 -0
  148. quantcdn/models/get_vector_collection200_response.py +91 -0
  149. quantcdn/models/get_vector_collection200_response_collection.py +102 -0
  150. quantcdn/models/image_generation200_response.py +91 -0
  151. quantcdn/models/image_generation_request.py +152 -0
  152. quantcdn/models/image_generation_request_background_removal_params.py +87 -0
  153. quantcdn/models/image_generation_request_color_guided_generation_params.py +94 -0
  154. quantcdn/models/image_generation_request_image_generation_config.py +108 -0
  155. quantcdn/models/image_generation_request_image_variation_params.py +94 -0
  156. quantcdn/models/image_generation_request_in_painting_params.py +96 -0
  157. quantcdn/models/image_generation_request_out_painting_params.py +107 -0
  158. quantcdn/models/image_generation_request_text_to_image_params.py +118 -0
  159. quantcdn/models/kv_items_create200_response.py +91 -0
  160. quantcdn/models/kv_items_delete200_response.py +89 -0
  161. quantcdn/models/kv_items_show200_response.py +93 -0
  162. quantcdn/models/kv_items_show200_response_value.py +143 -0
  163. quantcdn/models/list_ai_agents200_response.py +95 -0
  164. quantcdn/models/list_ai_agents200_response_agents_inner.py +106 -0
  165. quantcdn/models/list_ai_models200_response.py +97 -0
  166. quantcdn/models/list_ai_models200_response_models_inner.py +97 -0
  167. quantcdn/models/list_ai_models200_response_models_inner_capabilities.py +95 -0
  168. quantcdn/models/list_ai_sessions200_response_inner.py +96 -0
  169. quantcdn/models/list_ai_tool_executions200_response.py +101 -0
  170. quantcdn/models/list_ai_tool_executions200_response_executions_inner.py +96 -0
  171. quantcdn/models/list_ai_tool_names200_response.py +89 -0
  172. quantcdn/models/list_ai_tools200_response.py +97 -0
  173. quantcdn/models/list_ai_tools200_response_tools_inner.py +91 -0
  174. quantcdn/models/list_ai_tools200_response_tools_inner_tool_spec.py +95 -0
  175. quantcdn/models/list_ai_tools200_response_tools_inner_tool_spec_input_schema.py +87 -0
  176. quantcdn/models/list_backups200_response.py +106 -0
  177. quantcdn/models/list_backups200_response_backups_inner.py +112 -0
  178. quantcdn/models/list_backups422_response.py +87 -0
  179. quantcdn/models/list_custom_tools200_response.py +97 -0
  180. quantcdn/models/list_custom_tools200_response_tools_inner.py +98 -0
  181. quantcdn/models/list_vector_collections200_response.py +97 -0
  182. quantcdn/models/list_vector_collections200_response_collections_inner.py +98 -0
  183. quantcdn/models/organizations_list200_response_inner.py +89 -0
  184. quantcdn/models/patch_environment_compose202_response.py +107 -0
  185. quantcdn/models/patch_environment_compose202_response_spot_configuration.py +89 -0
  186. quantcdn/models/patch_environment_compose400_response.py +89 -0
  187. quantcdn/models/patch_environment_compose_request.py +153 -0
  188. quantcdn/models/patch_environment_compose_request_spot_configuration.py +97 -0
  189. quantcdn/models/purge_create_request.py +93 -0
  190. quantcdn/models/query_vector_collection200_response.py +101 -0
  191. quantcdn/models/query_vector_collection200_response_results_inner.py +95 -0
  192. quantcdn/models/query_vector_collection200_response_results_inner_metadata.py +91 -0
  193. quantcdn/models/query_vector_collection_request.py +90 -0
  194. quantcdn/models/scaling_policy.py +103 -0
  195. quantcdn/models/spot_configuration.py +94 -0
  196. quantcdn/models/sync_operation.py +99 -0
  197. quantcdn/models/sync_to_environment_request.py +87 -0
  198. quantcdn/models/update_ai_agent200_response.py +91 -0
  199. quantcdn/models/update_ai_agent_request.py +104 -0
  200. quantcdn/models/update_ai_session200_response.py +96 -0
  201. quantcdn/models/update_ai_session_request.py +111 -0
  202. quantcdn/models/update_ai_session_request_new_messages_inner.py +99 -0
  203. quantcdn/models/update_cron_job_request.py +120 -0
  204. quantcdn/models/update_environment_request.py +106 -0
  205. quantcdn/models/update_environment_state_request.py +89 -0
  206. quantcdn/models/update_environment_variable_request.py +87 -0
  207. quantcdn/models/upload_vector_documents200_response.py +93 -0
  208. quantcdn/models/upload_vector_documents_request.py +95 -0
  209. quantcdn/models/upload_vector_documents_request_documents_inner.py +93 -0
  210. quantcdn/models/upload_vector_documents_request_documents_inner_metadata.py +93 -0
  211. quantcdn/models/v1_content_item.py +97 -0
  212. quantcdn/models/v1_content_list_response.py +101 -0
  213. quantcdn/models/v1_content_request.py +110 -0
  214. quantcdn/models/v1_delete_response.py +99 -0
  215. quantcdn/models/v1_error.py +89 -0
  216. quantcdn/models/v1_form_submission_item.py +97 -0
  217. quantcdn/models/v1_form_submission_list_response.py +101 -0
  218. quantcdn/models/v1_get_metric_series_response.py +93 -0
  219. quantcdn/models/v1_get_metric_series_response_data.py +162 -0
  220. quantcdn/models/v1_get_metrics_response.py +93 -0
  221. quantcdn/models/v1_get_metrics_response_data.py +163 -0
  222. quantcdn/models/v1_global_meta_response.py +101 -0
  223. quantcdn/models/v1_global_meta_response_global_meta.py +87 -0
  224. quantcdn/models/v1_info.py +99 -0
  225. quantcdn/models/v1_meta.py +113 -0
  226. quantcdn/models/v1_metric_day_stats.py +93 -0
  227. quantcdn/models/v1_metric_minute_stats.py +93 -0
  228. quantcdn/models/v1_metric_month_stats.py +93 -0
  229. quantcdn/models/v1_ping_response.py +89 -0
  230. quantcdn/models/v1_proxy_item.py +95 -0
  231. quantcdn/models/v1_proxy_list_response.py +101 -0
  232. quantcdn/models/v1_redirect_item.py +97 -0
  233. quantcdn/models/v1_redirect_list_response.py +101 -0
  234. quantcdn/models/v1_redirect_request.py +111 -0
  235. quantcdn/models/v1_redirect_response.py +121 -0
  236. quantcdn/models/v1_revision.py +115 -0
  237. quantcdn/models/v1_revisions_response.py +107 -0
  238. quantcdn/models/v1_search_hit.py +97 -0
  239. quantcdn/models/v1_search_items_response.py +97 -0
  240. quantcdn/models/v1_search_mutation_response.py +91 -0
  241. quantcdn/models/v1_search_record.py +93 -0
  242. quantcdn/models/v1_search_response.py +89 -0
  243. quantcdn/models/v1_series_point_day.py +89 -0
  244. quantcdn/models/v1_series_point_month.py +89 -0
  245. quantcdn/models/v1_transition.py +99 -0
  246. quantcdn/models/v1_upload_response.py +89 -0
  247. quantcdn/models/v1_url_meta_request.py +87 -0
  248. quantcdn/models/v1_url_meta_response.py +91 -0
  249. quantcdn/models/v1_waf_log_item.py +107 -0
  250. quantcdn/models/v1_waf_log_list_response.py +101 -0
  251. quantcdn/models/v2_crawler.py +165 -0
  252. quantcdn/models/v2_crawler_assets.py +97 -0
  253. quantcdn/models/v2_crawler_assets_network_intercept.py +91 -0
  254. quantcdn/models/v2_crawler_assets_parser.py +87 -0
  255. quantcdn/models/v2_crawler_request.py +142 -0
  256. quantcdn/models/v2_crawler_run.py +114 -0
  257. quantcdn/models/v2_crawler_schedule.py +104 -0
  258. quantcdn/models/v2_crawler_schedule_request.py +89 -0
  259. quantcdn/models/v2_crawler_sitemap_inner.py +89 -0
  260. quantcdn/models/v2_custom_header_request.py +87 -0
  261. quantcdn/models/v2_domain.py +121 -0
  262. quantcdn/models/v2_domain_dns_go_live_records_inner.py +98 -0
  263. quantcdn/models/v2_domain_dns_validation_records_inner.py +91 -0
  264. quantcdn/models/v2_domain_request.py +87 -0
  265. quantcdn/models/v2_error.py +89 -0
  266. quantcdn/models/v2_organization.py +100 -0
  267. quantcdn/models/v2_organization_request.py +89 -0
  268. quantcdn/models/v2_project.py +95 -0
  269. quantcdn/models/v2_project_request.py +101 -0
  270. quantcdn/models/v2_rule.py +121 -0
  271. quantcdn/models/v2_rule_auth.py +127 -0
  272. quantcdn/models/v2_rule_auth_action.py +89 -0
  273. quantcdn/models/v2_rule_auth_request.py +119 -0
  274. quantcdn/models/v2_rule_bot_challenge.py +127 -0
  275. quantcdn/models/v2_rule_bot_challenge_action.py +91 -0
  276. quantcdn/models/v2_rule_bot_challenge_request.py +121 -0
  277. quantcdn/models/v2_rule_content_filter.py +127 -0
  278. quantcdn/models/v2_rule_content_filter_action.py +87 -0
  279. quantcdn/models/v2_rule_content_filter_request.py +117 -0
  280. quantcdn/models/v2_rule_custom_response.py +127 -0
  281. quantcdn/models/v2_rule_custom_response_action.py +89 -0
  282. quantcdn/models/v2_rule_custom_response_request.py +123 -0
  283. quantcdn/models/v2_rule_function.py +127 -0
  284. quantcdn/models/v2_rule_function_action.py +87 -0
  285. quantcdn/models/v2_rule_function_request.py +117 -0
  286. quantcdn/models/v2_rule_header.py +127 -0
  287. quantcdn/models/v2_rule_header_action.py +87 -0
  288. quantcdn/models/v2_rule_header_request.py +117 -0
  289. quantcdn/models/v2_rule_proxy.py +127 -0
  290. quantcdn/models/v2_rule_proxy_action.py +195 -0
  291. quantcdn/models/v2_rule_proxy_action_notify_config.py +87 -0
  292. quantcdn/models/v2_rule_proxy_action_quant_cloud_selection.py +93 -0
  293. quantcdn/models/v2_rule_proxy_request.py +189 -0
  294. quantcdn/models/v2_rule_redirect.py +127 -0
  295. quantcdn/models/v2_rule_redirect_action.py +89 -0
  296. quantcdn/models/v2_rule_redirect_request.py +119 -0
  297. quantcdn/models/v2_rule_request.py +115 -0
  298. quantcdn/models/v2_rule_serve_static.py +127 -0
  299. quantcdn/models/v2_rule_serve_static_action.py +87 -0
  300. quantcdn/models/v2_rule_serve_static_request.py +117 -0
  301. quantcdn/models/v2_secret_store.py +89 -0
  302. quantcdn/models/v2_secret_store_request.py +87 -0
  303. quantcdn/models/v2_store.py +89 -0
  304. quantcdn/models/v2_store_item.py +89 -0
  305. quantcdn/models/v2_store_item_request.py +91 -0
  306. quantcdn/models/v2_store_item_update_request.py +89 -0
  307. quantcdn/models/v2_store_items_list_response.py +94 -0
  308. quantcdn/models/v2_store_request.py +87 -0
  309. quantcdn/models/validate_compose200_response.py +96 -0
  310. quantcdn/models/validate_compose422_response.py +87 -0
  311. quantcdn/models/validate_compose_request.py +102 -0
  312. quantcdn/models/variable.py +89 -0
  313. quantcdn/models/volume.py +101 -0
  314. quantcdn/models/waf_config.py +140 -0
  315. quantcdn/models/waf_config_block_lists.py +93 -0
  316. quantcdn/models/waf_config_httpbl.py +97 -0
  317. quantcdn/models/waf_config_thresholds_inner.py +131 -0
  318. quantcdn/py.typed +0 -0
  319. quantcdn/rest.py +258 -0
  320. quantcdn_client-4.8.0.dist-info/METADATA +23 -0
  321. quantcdn_client-4.8.0.dist-info/RECORD +323 -0
  322. quantcdn_client-4.8.0.dist-info/WHEEL +5 -0
  323. quantcdn_client-4.8.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,600 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ QuantCDN API
5
+
6
+ Unified API for QuantCDN Admin and QuantCloud Platform services
7
+
8
+ The version of the OpenAPI document: 4.8.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+ import warnings
15
+ from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt
16
+ from typing import Any, Dict, List, Optional, Tuple, Union
17
+ from typing_extensions import Annotated
18
+
19
+ from pydantic import Field, StrictStr, field_validator
20
+ from typing import Optional
21
+ from typing_extensions import Annotated
22
+ from quantcdn.models.get_ai_model200_response import GetAIModel200Response
23
+ from quantcdn.models.list_ai_models200_response import ListAIModels200Response
24
+
25
+ from quantcdn.api_client import ApiClient, RequestSerialized
26
+ from quantcdn.api_response import ApiResponse
27
+ from quantcdn.rest import RESTResponseType
28
+
29
+
30
+ class AIModelsApi:
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 get_ai_model(
45
+ self,
46
+ organisation: Annotated[StrictStr, Field(description="The organisation ID")],
47
+ model_id: Annotated[StrictStr, Field(description="The model identifier (e.g., amazon.nova-lite-v1:0)")],
48
+ _request_timeout: Union[
49
+ None,
50
+ Annotated[StrictFloat, Field(gt=0)],
51
+ Tuple[
52
+ Annotated[StrictFloat, Field(gt=0)],
53
+ Annotated[StrictFloat, Field(gt=0)]
54
+ ]
55
+ ] = None,
56
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
57
+ _content_type: Optional[StrictStr] = None,
58
+ _headers: Optional[Dict[StrictStr, Any]] = None,
59
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
60
+ ) -> GetAIModel200Response:
61
+ """Get AI Model Details
62
+
63
+ Retrieves detailed information about a specific Bedrock model from the catalog. * * **Features:** * - Complete pricing breakdown (input/output per million tokens) * - Context window and output token limits * - Supported features (chat, vision, streaming, embeddings) * - Model availability and deprecation status * - Release date for version tracking * * **Example Model IDs:** * - `amazon.nova-lite-v1:0` - Default multimodal model * - `anthropic.claude-3-5-sonnet-20241022-v2:0` - Latest Claude * - `amazon.titan-embed-text-v2:0` - Latest embeddings
64
+
65
+ :param organisation: The organisation ID (required)
66
+ :type organisation: str
67
+ :param model_id: The model identifier (e.g., amazon.nova-lite-v1:0) (required)
68
+ :type model_id: str
69
+ :param _request_timeout: timeout setting for this request. If one
70
+ number provided, it will be total request
71
+ timeout. It can also be a pair (tuple) of
72
+ (connection, read) timeouts.
73
+ :type _request_timeout: int, tuple(int, int), optional
74
+ :param _request_auth: set to override the auth_settings for an a single
75
+ request; this effectively ignores the
76
+ authentication in the spec for a single request.
77
+ :type _request_auth: dict, optional
78
+ :param _content_type: force content-type for the request.
79
+ :type _content_type: str, Optional
80
+ :param _headers: set to override the headers for a single
81
+ request; this effectively ignores the headers
82
+ in the spec for a single request.
83
+ :type _headers: dict, optional
84
+ :param _host_index: set to override the host_index for a single
85
+ request; this effectively ignores the host_index
86
+ in the spec for a single request.
87
+ :type _host_index: int, optional
88
+ :return: Returns the result object.
89
+ """ # noqa: E501
90
+
91
+ _param = self._get_ai_model_serialize(
92
+ organisation=organisation,
93
+ model_id=model_id,
94
+ _request_auth=_request_auth,
95
+ _content_type=_content_type,
96
+ _headers=_headers,
97
+ _host_index=_host_index
98
+ )
99
+
100
+ _response_types_map: Dict[str, Optional[str]] = {
101
+ '200': "GetAIModel200Response",
102
+ '404': "GetAIModel404Response",
103
+ '500': None,
104
+ }
105
+ response_data = self.api_client.call_api(
106
+ *_param,
107
+ _request_timeout=_request_timeout
108
+ )
109
+ response_data.read()
110
+ return self.api_client.response_deserialize(
111
+ response_data=response_data,
112
+ response_types_map=_response_types_map,
113
+ ).data
114
+
115
+
116
+ @validate_call
117
+ def get_ai_model_with_http_info(
118
+ self,
119
+ organisation: Annotated[StrictStr, Field(description="The organisation ID")],
120
+ model_id: Annotated[StrictStr, Field(description="The model identifier (e.g., amazon.nova-lite-v1:0)")],
121
+ _request_timeout: Union[
122
+ None,
123
+ Annotated[StrictFloat, Field(gt=0)],
124
+ Tuple[
125
+ Annotated[StrictFloat, Field(gt=0)],
126
+ Annotated[StrictFloat, Field(gt=0)]
127
+ ]
128
+ ] = None,
129
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
130
+ _content_type: Optional[StrictStr] = None,
131
+ _headers: Optional[Dict[StrictStr, Any]] = None,
132
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
133
+ ) -> ApiResponse[GetAIModel200Response]:
134
+ """Get AI Model Details
135
+
136
+ Retrieves detailed information about a specific Bedrock model from the catalog. * * **Features:** * - Complete pricing breakdown (input/output per million tokens) * - Context window and output token limits * - Supported features (chat, vision, streaming, embeddings) * - Model availability and deprecation status * - Release date for version tracking * * **Example Model IDs:** * - `amazon.nova-lite-v1:0` - Default multimodal model * - `anthropic.claude-3-5-sonnet-20241022-v2:0` - Latest Claude * - `amazon.titan-embed-text-v2:0` - Latest embeddings
137
+
138
+ :param organisation: The organisation ID (required)
139
+ :type organisation: str
140
+ :param model_id: The model identifier (e.g., amazon.nova-lite-v1:0) (required)
141
+ :type model_id: str
142
+ :param _request_timeout: timeout setting for this request. If one
143
+ number provided, it will be total request
144
+ timeout. It can also be a pair (tuple) of
145
+ (connection, read) timeouts.
146
+ :type _request_timeout: int, tuple(int, int), optional
147
+ :param _request_auth: set to override the auth_settings for an a single
148
+ request; this effectively ignores the
149
+ authentication in the spec for a single request.
150
+ :type _request_auth: dict, optional
151
+ :param _content_type: force content-type for the request.
152
+ :type _content_type: str, Optional
153
+ :param _headers: set to override the headers for a single
154
+ request; this effectively ignores the headers
155
+ in the spec for a single request.
156
+ :type _headers: dict, optional
157
+ :param _host_index: set to override the host_index for a single
158
+ request; this effectively ignores the host_index
159
+ in the spec for a single request.
160
+ :type _host_index: int, optional
161
+ :return: Returns the result object.
162
+ """ # noqa: E501
163
+
164
+ _param = self._get_ai_model_serialize(
165
+ organisation=organisation,
166
+ model_id=model_id,
167
+ _request_auth=_request_auth,
168
+ _content_type=_content_type,
169
+ _headers=_headers,
170
+ _host_index=_host_index
171
+ )
172
+
173
+ _response_types_map: Dict[str, Optional[str]] = {
174
+ '200': "GetAIModel200Response",
175
+ '404': "GetAIModel404Response",
176
+ '500': None,
177
+ }
178
+ response_data = self.api_client.call_api(
179
+ *_param,
180
+ _request_timeout=_request_timeout
181
+ )
182
+ response_data.read()
183
+ return self.api_client.response_deserialize(
184
+ response_data=response_data,
185
+ response_types_map=_response_types_map,
186
+ )
187
+
188
+
189
+ @validate_call
190
+ def get_ai_model_without_preload_content(
191
+ self,
192
+ organisation: Annotated[StrictStr, Field(description="The organisation ID")],
193
+ model_id: Annotated[StrictStr, Field(description="The model identifier (e.g., amazon.nova-lite-v1:0)")],
194
+ _request_timeout: Union[
195
+ None,
196
+ Annotated[StrictFloat, Field(gt=0)],
197
+ Tuple[
198
+ Annotated[StrictFloat, Field(gt=0)],
199
+ Annotated[StrictFloat, Field(gt=0)]
200
+ ]
201
+ ] = None,
202
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
203
+ _content_type: Optional[StrictStr] = None,
204
+ _headers: Optional[Dict[StrictStr, Any]] = None,
205
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
206
+ ) -> RESTResponseType:
207
+ """Get AI Model Details
208
+
209
+ Retrieves detailed information about a specific Bedrock model from the catalog. * * **Features:** * - Complete pricing breakdown (input/output per million tokens) * - Context window and output token limits * - Supported features (chat, vision, streaming, embeddings) * - Model availability and deprecation status * - Release date for version tracking * * **Example Model IDs:** * - `amazon.nova-lite-v1:0` - Default multimodal model * - `anthropic.claude-3-5-sonnet-20241022-v2:0` - Latest Claude * - `amazon.titan-embed-text-v2:0` - Latest embeddings
210
+
211
+ :param organisation: The organisation ID (required)
212
+ :type organisation: str
213
+ :param model_id: The model identifier (e.g., amazon.nova-lite-v1:0) (required)
214
+ :type model_id: str
215
+ :param _request_timeout: timeout setting for this request. If one
216
+ number provided, it will be total request
217
+ timeout. It can also be a pair (tuple) of
218
+ (connection, read) timeouts.
219
+ :type _request_timeout: int, tuple(int, int), optional
220
+ :param _request_auth: set to override the auth_settings for an a single
221
+ request; this effectively ignores the
222
+ authentication in the spec for a single request.
223
+ :type _request_auth: dict, optional
224
+ :param _content_type: force content-type for the request.
225
+ :type _content_type: str, Optional
226
+ :param _headers: set to override the headers for a single
227
+ request; this effectively ignores the headers
228
+ in the spec for a single request.
229
+ :type _headers: dict, optional
230
+ :param _host_index: set to override the host_index for a single
231
+ request; this effectively ignores the host_index
232
+ in the spec for a single request.
233
+ :type _host_index: int, optional
234
+ :return: Returns the result object.
235
+ """ # noqa: E501
236
+
237
+ _param = self._get_ai_model_serialize(
238
+ organisation=organisation,
239
+ model_id=model_id,
240
+ _request_auth=_request_auth,
241
+ _content_type=_content_type,
242
+ _headers=_headers,
243
+ _host_index=_host_index
244
+ )
245
+
246
+ _response_types_map: Dict[str, Optional[str]] = {
247
+ '200': "GetAIModel200Response",
248
+ '404': "GetAIModel404Response",
249
+ '500': None,
250
+ }
251
+ response_data = self.api_client.call_api(
252
+ *_param,
253
+ _request_timeout=_request_timeout
254
+ )
255
+ return response_data.response
256
+
257
+
258
+ def _get_ai_model_serialize(
259
+ self,
260
+ organisation,
261
+ model_id,
262
+ _request_auth,
263
+ _content_type,
264
+ _headers,
265
+ _host_index,
266
+ ) -> RequestSerialized:
267
+
268
+ _host = None
269
+
270
+ _collection_formats: Dict[str, str] = {
271
+ }
272
+
273
+ _path_params: Dict[str, str] = {}
274
+ _query_params: List[Tuple[str, str]] = []
275
+ _header_params: Dict[str, Optional[str]] = _headers or {}
276
+ _form_params: List[Tuple[str, str]] = []
277
+ _files: Dict[
278
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
279
+ ] = {}
280
+ _body_params: Optional[bytes] = None
281
+
282
+ # process the path parameters
283
+ if organisation is not None:
284
+ _path_params['organisation'] = organisation
285
+ if model_id is not None:
286
+ _path_params['modelId'] = model_id
287
+ # process the query parameters
288
+ # process the header parameters
289
+ # process the form parameters
290
+ # process the body parameter
291
+
292
+
293
+ # set the HTTP header `Accept`
294
+ if 'Accept' not in _header_params:
295
+ _header_params['Accept'] = self.api_client.select_header_accept(
296
+ [
297
+ 'application/json'
298
+ ]
299
+ )
300
+
301
+
302
+ # authentication setting
303
+ _auth_settings: List[str] = [
304
+ 'BearerAuth'
305
+ ]
306
+
307
+ return self.api_client.param_serialize(
308
+ method='GET',
309
+ resource_path='/api/v3/organizations/{organisation}/ai/models/{modelId}',
310
+ path_params=_path_params,
311
+ query_params=_query_params,
312
+ header_params=_header_params,
313
+ body=_body_params,
314
+ post_params=_form_params,
315
+ files=_files,
316
+ auth_settings=_auth_settings,
317
+ collection_formats=_collection_formats,
318
+ _host=_host,
319
+ _request_auth=_request_auth
320
+ )
321
+
322
+
323
+
324
+
325
+ @validate_call
326
+ def list_ai_models(
327
+ self,
328
+ organisation: Annotated[StrictStr, Field(description="The organisation ID")],
329
+ feature: Annotated[Optional[StrictStr], Field(description="Filter models by supported feature")] = None,
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
+ ) -> ListAIModels200Response:
343
+ """List available AI models for an organization
344
+
345
+
346
+ :param organisation: The organisation ID (required)
347
+ :type organisation: str
348
+ :param feature: Filter models by supported feature
349
+ :type feature: str
350
+ :param _request_timeout: timeout setting for this request. If one
351
+ number provided, it will be total request
352
+ timeout. It can also be a pair (tuple) of
353
+ (connection, read) timeouts.
354
+ :type _request_timeout: int, tuple(int, int), optional
355
+ :param _request_auth: set to override the auth_settings for an a single
356
+ request; this effectively ignores the
357
+ authentication in the spec for a single request.
358
+ :type _request_auth: dict, optional
359
+ :param _content_type: force content-type for the request.
360
+ :type _content_type: str, Optional
361
+ :param _headers: set to override the headers for a single
362
+ request; this effectively ignores the headers
363
+ in the spec for a single request.
364
+ :type _headers: dict, optional
365
+ :param _host_index: set to override the host_index for a single
366
+ request; this effectively ignores the host_index
367
+ in the spec for a single request.
368
+ :type _host_index: int, optional
369
+ :return: Returns the result object.
370
+ """ # noqa: E501
371
+
372
+ _param = self._list_ai_models_serialize(
373
+ organisation=organisation,
374
+ feature=feature,
375
+ _request_auth=_request_auth,
376
+ _content_type=_content_type,
377
+ _headers=_headers,
378
+ _host_index=_host_index
379
+ )
380
+
381
+ _response_types_map: Dict[str, Optional[str]] = {
382
+ '200': "ListAIModels200Response",
383
+ '500': None,
384
+ }
385
+ response_data = self.api_client.call_api(
386
+ *_param,
387
+ _request_timeout=_request_timeout
388
+ )
389
+ response_data.read()
390
+ return self.api_client.response_deserialize(
391
+ response_data=response_data,
392
+ response_types_map=_response_types_map,
393
+ ).data
394
+
395
+
396
+ @validate_call
397
+ def list_ai_models_with_http_info(
398
+ self,
399
+ organisation: Annotated[StrictStr, Field(description="The organisation ID")],
400
+ feature: Annotated[Optional[StrictStr], Field(description="Filter models by supported feature")] = None,
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[ListAIModels200Response]:
414
+ """List available AI models for an organization
415
+
416
+
417
+ :param organisation: The organisation ID (required)
418
+ :type organisation: str
419
+ :param feature: Filter models by supported feature
420
+ :type feature: str
421
+ :param _request_timeout: timeout setting for this request. If one
422
+ number provided, it will be total request
423
+ timeout. It can also be a pair (tuple) of
424
+ (connection, read) timeouts.
425
+ :type _request_timeout: int, tuple(int, int), optional
426
+ :param _request_auth: set to override the auth_settings for an a single
427
+ request; this effectively ignores the
428
+ authentication in the spec for a single request.
429
+ :type _request_auth: dict, optional
430
+ :param _content_type: force content-type for the request.
431
+ :type _content_type: str, Optional
432
+ :param _headers: set to override the headers for a single
433
+ request; this effectively ignores the headers
434
+ in the spec for a single request.
435
+ :type _headers: dict, optional
436
+ :param _host_index: set to override the host_index for a single
437
+ request; this effectively ignores the host_index
438
+ in the spec for a single request.
439
+ :type _host_index: int, optional
440
+ :return: Returns the result object.
441
+ """ # noqa: E501
442
+
443
+ _param = self._list_ai_models_serialize(
444
+ organisation=organisation,
445
+ feature=feature,
446
+ _request_auth=_request_auth,
447
+ _content_type=_content_type,
448
+ _headers=_headers,
449
+ _host_index=_host_index
450
+ )
451
+
452
+ _response_types_map: Dict[str, Optional[str]] = {
453
+ '200': "ListAIModels200Response",
454
+ '500': None,
455
+ }
456
+ response_data = self.api_client.call_api(
457
+ *_param,
458
+ _request_timeout=_request_timeout
459
+ )
460
+ response_data.read()
461
+ return self.api_client.response_deserialize(
462
+ response_data=response_data,
463
+ response_types_map=_response_types_map,
464
+ )
465
+
466
+
467
+ @validate_call
468
+ def list_ai_models_without_preload_content(
469
+ self,
470
+ organisation: Annotated[StrictStr, Field(description="The organisation ID")],
471
+ feature: Annotated[Optional[StrictStr], Field(description="Filter models by supported feature")] = None,
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
+ """List available AI models for an organization
486
+
487
+
488
+ :param organisation: The organisation ID (required)
489
+ :type organisation: str
490
+ :param feature: Filter models by supported feature
491
+ :type feature: str
492
+ :param _request_timeout: timeout setting for this request. If one
493
+ number provided, it will be total request
494
+ timeout. It can also be a pair (tuple) of
495
+ (connection, read) timeouts.
496
+ :type _request_timeout: int, tuple(int, int), optional
497
+ :param _request_auth: set to override the auth_settings for an a single
498
+ request; this effectively ignores the
499
+ authentication in the spec for a single request.
500
+ :type _request_auth: dict, optional
501
+ :param _content_type: force content-type for the request.
502
+ :type _content_type: str, Optional
503
+ :param _headers: set to override the headers for a single
504
+ request; this effectively ignores the headers
505
+ in the spec for a single request.
506
+ :type _headers: dict, optional
507
+ :param _host_index: set to override the host_index for a single
508
+ request; this effectively ignores the host_index
509
+ in the spec for a single request.
510
+ :type _host_index: int, optional
511
+ :return: Returns the result object.
512
+ """ # noqa: E501
513
+
514
+ _param = self._list_ai_models_serialize(
515
+ organisation=organisation,
516
+ feature=feature,
517
+ _request_auth=_request_auth,
518
+ _content_type=_content_type,
519
+ _headers=_headers,
520
+ _host_index=_host_index
521
+ )
522
+
523
+ _response_types_map: Dict[str, Optional[str]] = {
524
+ '200': "ListAIModels200Response",
525
+ '500': None,
526
+ }
527
+ response_data = self.api_client.call_api(
528
+ *_param,
529
+ _request_timeout=_request_timeout
530
+ )
531
+ return response_data.response
532
+
533
+
534
+ def _list_ai_models_serialize(
535
+ self,
536
+ organisation,
537
+ feature,
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 organisation is not None:
560
+ _path_params['organisation'] = organisation
561
+ # process the query parameters
562
+ if feature is not None:
563
+
564
+ _query_params.append(('feature', feature))
565
+
566
+ # process the header parameters
567
+ # process the form parameters
568
+ # process the body parameter
569
+
570
+
571
+ # set the HTTP header `Accept`
572
+ if 'Accept' not in _header_params:
573
+ _header_params['Accept'] = self.api_client.select_header_accept(
574
+ [
575
+ 'application/json'
576
+ ]
577
+ )
578
+
579
+
580
+ # authentication setting
581
+ _auth_settings: List[str] = [
582
+ 'BearerAuth'
583
+ ]
584
+
585
+ return self.api_client.param_serialize(
586
+ method='GET',
587
+ resource_path='/api/v3/organizations/{organisation}/ai/models',
588
+ path_params=_path_params,
589
+ query_params=_query_params,
590
+ header_params=_header_params,
591
+ body=_body_params,
592
+ post_params=_form_params,
593
+ files=_files,
594
+ auth_settings=_auth_settings,
595
+ collection_formats=_collection_formats,
596
+ _host=_host,
597
+ _request_auth=_request_auth
598
+ )
599
+
600
+