gcore 0.1.0a2__py3-none-any.whl → 0.3.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.

Potentially problematic release.


This version of gcore might be problematic. Click here for more details.

Files changed (293) hide show
  1. gcore/__init__.py +5 -0
  2. gcore/_base_client.py +22 -2
  3. gcore/_client.py +9 -0
  4. gcore/_models.py +2 -0
  5. gcore/_types.py +2 -0
  6. gcore/_utils/_proxy.py +4 -1
  7. gcore/_utils/_resources_proxy.py +24 -0
  8. gcore/_version.py +1 -1
  9. gcore/resources/__init__.py +14 -0
  10. gcore/resources/cloud/baremetal/flavors.py +2 -2
  11. gcore/resources/cloud/baremetal/images.py +2 -2
  12. gcore/resources/cloud/baremetal/servers.py +280 -52
  13. gcore/resources/cloud/billing_reservations.py +24 -0
  14. gcore/resources/cloud/file_shares/file_shares.py +16 -0
  15. gcore/resources/cloud/floating_ips.py +4 -4
  16. gcore/resources/cloud/gpu_baremetal_clusters/gpu_baremetal_clusters.py +358 -8
  17. gcore/resources/cloud/gpu_baremetal_clusters/images.py +206 -2
  18. gcore/resources/cloud/gpu_baremetal_clusters/servers.py +84 -4
  19. gcore/resources/cloud/inference/deployments/deployments.py +328 -10
  20. gcore/resources/cloud/instances/flavors.py +2 -2
  21. gcore/resources/cloud/instances/images.py +318 -2
  22. gcore/resources/cloud/instances/instances.py +534 -70
  23. gcore/resources/cloud/instances/interfaces.py +4 -4
  24. gcore/resources/cloud/load_balancers/flavors.py +2 -2
  25. gcore/resources/cloud/load_balancers/l7_policies/l7_policies.py +302 -20
  26. gcore/resources/cloud/load_balancers/l7_policies/rules.py +326 -0
  27. gcore/resources/cloud/load_balancers/listeners.py +385 -20
  28. gcore/resources/cloud/load_balancers/load_balancers.py +392 -24
  29. gcore/resources/cloud/load_balancers/pools/health_monitors.py +24 -0
  30. gcore/resources/cloud/load_balancers/pools/members.py +34 -6
  31. gcore/resources/cloud/load_balancers/pools/pools.py +388 -8
  32. gcore/resources/cloud/networks/networks.py +72 -16
  33. gcore/resources/cloud/networks/subnets.py +6 -6
  34. gcore/resources/cloud/registries/registries.py +6 -10
  35. gcore/resources/cloud/registries/users.py +4 -10
  36. gcore/resources/cloud/reserved_fixed_ips/reserved_fixed_ips.py +10 -10
  37. gcore/resources/cloud/secrets.py +56 -11
  38. gcore/resources/cloud/security_groups/security_groups.py +2 -2
  39. gcore/resources/cloud/ssh_keys.py +2 -2
  40. gcore/resources/cloud/tasks.py +203 -184
  41. gcore/resources/cloud/users/role_assignments.py +4 -4
  42. gcore/resources/cloud/volumes.py +18 -18
  43. gcore/resources/waap/__init__.py +131 -0
  44. gcore/resources/waap/advanced_rules.py +135 -0
  45. gcore/resources/waap/clients.py +135 -0
  46. gcore/resources/waap/custom_page_sets.py +805 -0
  47. gcore/resources/waap/domains/__init__.py +173 -0
  48. gcore/resources/waap/domains/advanced_rules.py +876 -0
  49. gcore/resources/waap/domains/analytics/__init__.py +33 -0
  50. gcore/resources/waap/domains/analytics/analytics.py +676 -0
  51. gcore/resources/waap/domains/analytics/requests.py +378 -0
  52. gcore/resources/waap/domains/api_discovery/__init__.py +33 -0
  53. gcore/resources/waap/domains/api_discovery/api_discovery.py +530 -0
  54. gcore/resources/waap/domains/api_discovery/scan_results.py +352 -0
  55. gcore/resources/waap/domains/api_path_groups.py +163 -0
  56. gcore/resources/waap/domains/api_paths.py +771 -0
  57. gcore/resources/waap/domains/custom_rules.py +889 -0
  58. gcore/resources/waap/domains/domains.py +914 -0
  59. gcore/resources/waap/domains/firewall_rules.py +884 -0
  60. gcore/resources/waap/domains/insight_silences.py +689 -0
  61. gcore/resources/waap/domains/insights.py +425 -0
  62. gcore/resources/waap/domains/policies.py +173 -0
  63. gcore/resources/waap/domains/settings.py +271 -0
  64. gcore/resources/waap/ip_info.py +1017 -0
  65. gcore/resources/waap/organizations.py +217 -0
  66. gcore/resources/waap/statistics.py +225 -0
  67. gcore/resources/waap/tags.py +233 -0
  68. gcore/resources/waap/waap.py +391 -0
  69. gcore/types/cloud/__init__.py +1 -0
  70. gcore/types/cloud/allowed_address_pairs.py +2 -2
  71. gcore/types/cloud/baremetal/baremetal_server.py +1 -1
  72. gcore/types/cloud/baremetal/image_list_params.py +1 -1
  73. gcore/types/cloud/baremetal/server_create_params.py +9 -9
  74. gcore/types/cloud/baremetal/server_list_params.py +8 -8
  75. gcore/types/cloud/baremetal/server_rebuild_params.py +1 -1
  76. gcore/types/cloud/baremetal_flavor.py +3 -3
  77. gcore/types/cloud/billing_reservation_list_params.py +5 -0
  78. gcore/types/cloud/container_probe_config.py +1 -1
  79. gcore/types/cloud/container_probe_config_create_param.py +2 -3
  80. gcore/types/cloud/container_scale_triggers.py +2 -2
  81. gcore/types/cloud/file_share.py +3 -0
  82. gcore/types/cloud/file_share_list_params.py +7 -1
  83. gcore/types/cloud/floating_ip_detailed.py +1 -1
  84. gcore/types/cloud/floating_ip_list_params.py +2 -2
  85. gcore/types/cloud/gpu_baremetal_cluster.py +1 -1
  86. gcore/types/cloud/gpu_baremetal_cluster_create_params.py +21 -1
  87. gcore/types/cloud/gpu_baremetal_cluster_delete_params.py +1 -1
  88. gcore/types/cloud/gpu_baremetal_cluster_rebuild_params.py +1 -1
  89. gcore/types/cloud/gpu_baremetal_cluster_server.py +1 -1
  90. gcore/types/cloud/gpu_baremetal_clusters/image_upload_params.py +1 -1
  91. gcore/types/cloud/gpu_baremetal_clusters/server_attach_interface_params.py +10 -10
  92. gcore/types/cloud/gpu_baremetal_flavor.py +3 -3
  93. gcore/types/cloud/image.py +1 -1
  94. gcore/types/cloud/inference/deployment_create_params.py +4 -4
  95. gcore/types/cloud/inference/deployment_update_params.py +206 -9
  96. gcore/types/cloud/inference/inference.py +5 -5
  97. gcore/types/cloud/instance.py +1 -1
  98. gcore/types/cloud/instance_create_params.py +8 -10
  99. gcore/types/cloud/instance_list_params.py +8 -8
  100. gcore/types/cloud/instances/flavor_list_suitable_params.py +4 -1
  101. gcore/types/cloud/instances/image_list_params.py +1 -1
  102. gcore/types/cloud/instances/instance_flavor.py +3 -3
  103. gcore/types/cloud/instances/interface_attach_params.py +10 -10
  104. gcore/types/cloud/load_balancer_create_params.py +17 -15
  105. gcore/types/cloud/load_balancer_flavor_detail.py +3 -3
  106. gcore/types/cloud/load_balancer_l7_policy.py +5 -5
  107. gcore/types/cloud/load_balancer_list_params.py +5 -5
  108. gcore/types/cloud/load_balancer_listener_detail.py +17 -17
  109. gcore/types/cloud/load_balancer_pool.py +13 -13
  110. gcore/types/cloud/load_balancer_pool_list.py +99 -4
  111. gcore/types/cloud/load_balancers/l7_policy_create_params.py +5 -5
  112. gcore/types/cloud/load_balancers/l7_policy_replace_params.py +5 -5
  113. gcore/types/cloud/load_balancers/listener_create_params.py +6 -4
  114. gcore/types/cloud/load_balancers/listener_get_params.py +3 -1
  115. gcore/types/cloud/load_balancers/listener_list_params.py +4 -2
  116. gcore/types/cloud/load_balancers/listener_update_params.py +5 -3
  117. gcore/types/cloud/load_balancers/pool_create_params.py +6 -4
  118. gcore/types/cloud/load_balancers/pool_list_params.py +5 -6
  119. gcore/types/cloud/load_balancers/pool_update_params.py +6 -4
  120. gcore/types/cloud/load_balancers/pools/health_monitor_create_params.py +2 -0
  121. gcore/types/cloud/load_balancers/pools/member_add_params.py +5 -3
  122. gcore/types/cloud/member.py +2 -2
  123. gcore/types/cloud/network.py +22 -22
  124. gcore/types/cloud/network_create_params.py +2 -0
  125. gcore/types/cloud/network_details.py +25 -24
  126. gcore/types/cloud/network_list_params.py +15 -10
  127. gcore/types/cloud/network_update_params.py +2 -0
  128. gcore/types/cloud/networks/subnet_create_params.py +1 -1
  129. gcore/types/cloud/networks/subnet_list_params.py +2 -2
  130. gcore/types/cloud/quota_get_all_response.py +18 -0
  131. gcore/types/cloud/quota_get_by_region_response.py +18 -0
  132. gcore/types/cloud/quotas/request_create_params.py +9 -0
  133. gcore/types/cloud/quotas/request_get_response.py +9 -0
  134. gcore/types/cloud/quotas/request_list_response.py +9 -0
  135. gcore/types/cloud/region.py +4 -4
  136. gcore/types/cloud/registries/user_create_multiple_params.py +3 -5
  137. gcore/types/cloud/registries/user_create_params.py +3 -5
  138. gcore/types/cloud/registry_create_params.py +3 -5
  139. gcore/types/cloud/reserved_fixed_ip_create_params.py +2 -2
  140. gcore/types/cloud/reserved_fixed_ip_list_params.py +3 -3
  141. gcore/types/cloud/secret_list_params.py +24 -0
  142. gcore/types/cloud/security_group_list_params.py +1 -1
  143. gcore/types/cloud/session_persistence.py +1 -1
  144. gcore/types/cloud/ssh_key_created.py +3 -6
  145. gcore/types/cloud/task.py +1 -4
  146. gcore/types/cloud/task_list_params.py +56 -46
  147. gcore/types/cloud/users/role_assignment_create_params.py +1 -1
  148. gcore/types/cloud/users/role_assignment_update_params.py +1 -1
  149. gcore/types/cloud/volume_create_params.py +6 -6
  150. gcore/types/cloud/volume_list_params.py +3 -3
  151. gcore/types/waap/__init__.py +108 -0
  152. gcore/types/waap/client_me_response.py +34 -0
  153. gcore/types/waap/custom_page_set_create_params.py +35 -0
  154. gcore/types/waap/custom_page_set_list_params.py +25 -0
  155. gcore/types/waap/custom_page_set_preview_params.py +34 -0
  156. gcore/types/waap/custom_page_set_update_params.py +35 -0
  157. gcore/types/waap/domain_list_params.py +30 -0
  158. gcore/types/waap/domain_list_rule_sets_response.py +10 -0
  159. gcore/types/waap/domain_update_params.py +12 -0
  160. gcore/types/waap/domains/__init__.py +47 -0
  161. gcore/types/waap/domains/advanced_rule_create_params.py +80 -0
  162. gcore/types/waap/domains/advanced_rule_list_params.py +58 -0
  163. gcore/types/waap/domains/advanced_rule_update_params.py +83 -0
  164. gcore/types/waap/domains/analytics/__init__.py +5 -0
  165. gcore/types/waap/domains/analytics/request_list_params.py +53 -0
  166. gcore/types/waap/domains/analytics_get_event_statistics_params.py +34 -0
  167. gcore/types/waap/domains/analytics_list_ddos_attacks_params.py +28 -0
  168. gcore/types/waap/domains/analytics_list_ddos_info_params.py +31 -0
  169. gcore/types/waap/domains/analytics_list_event_traffic_params.py +26 -0
  170. gcore/types/waap/domains/analytics_list_event_traffic_response.py +10 -0
  171. gcore/types/waap/domains/api_discovery/__init__.py +7 -0
  172. gcore/types/waap/domains/api_discovery/scan_result_get_response.py +29 -0
  173. gcore/types/waap/domains/api_discovery/scan_result_list_params.py +41 -0
  174. gcore/types/waap/domains/api_discovery/scan_result_list_response.py +29 -0
  175. gcore/types/waap/domains/api_discovery_get_settings_response.py +36 -0
  176. gcore/types/waap/domains/api_discovery_scan_openapi_response.py +10 -0
  177. gcore/types/waap/domains/api_discovery_update_settings_params.py +34 -0
  178. gcore/types/waap/domains/api_discovery_update_settings_response.py +36 -0
  179. gcore/types/waap/domains/api_discovery_upload_openapi_params.py +19 -0
  180. gcore/types/waap/domains/api_discovery_upload_openapi_response.py +10 -0
  181. gcore/types/waap/domains/api_path_create_params.py +31 -0
  182. gcore/types/waap/domains/api_path_create_response.py +50 -0
  183. gcore/types/waap/domains/api_path_get_response.py +50 -0
  184. gcore/types/waap/domains/api_path_group_list_response.py +12 -0
  185. gcore/types/waap/domains/api_path_list_params.py +62 -0
  186. gcore/types/waap/domains/api_path_list_response.py +50 -0
  187. gcore/types/waap/domains/api_path_update_params.py +29 -0
  188. gcore/types/waap/domains/custom_rule_create_params.py +368 -0
  189. gcore/types/waap/domains/custom_rule_delete_multiple_params.py +13 -0
  190. gcore/types/waap/domains/custom_rule_list_params.py +35 -0
  191. gcore/types/waap/domains/custom_rule_update_params.py +371 -0
  192. gcore/types/waap/domains/firewall_rule_create_params.py +75 -0
  193. gcore/types/waap/domains/firewall_rule_delete_multiple_params.py +13 -0
  194. gcore/types/waap/domains/firewall_rule_list_params.py +33 -0
  195. gcore/types/waap/domains/firewall_rule_update_params.py +78 -0
  196. gcore/types/waap/domains/insight_list_params.py +34 -0
  197. gcore/types/waap/domains/insight_replace_params.py +17 -0
  198. gcore/types/waap/domains/insight_silence_create_params.py +28 -0
  199. gcore/types/waap/domains/insight_silence_list_params.py +33 -0
  200. gcore/types/waap/domains/insight_silence_update_params.py +28 -0
  201. gcore/types/waap/domains/setting_update_params.py +48 -0
  202. gcore/types/waap/ip_info_get_attack_time_series_params.py +12 -0
  203. gcore/types/waap/ip_info_get_attack_time_series_response.py +10 -0
  204. gcore/types/waap/ip_info_get_blocked_requests_params.py +15 -0
  205. gcore/types/waap/ip_info_get_blocked_requests_response.py +10 -0
  206. gcore/types/waap/ip_info_get_counts_params.py +19 -0
  207. gcore/types/waap/ip_info_get_ddos_attack_series_params.py +12 -0
  208. gcore/types/waap/ip_info_get_params.py +12 -0
  209. gcore/types/waap/ip_info_get_top_sessions_params.py +15 -0
  210. gcore/types/waap/ip_info_get_top_sessions_response.py +10 -0
  211. gcore/types/waap/ip_info_get_top_urls_params.py +15 -0
  212. gcore/types/waap/ip_info_get_top_urls_response.py +10 -0
  213. gcore/types/waap/ip_info_get_top_user_agents_params.py +15 -0
  214. gcore/types/waap/ip_info_get_top_user_agents_response.py +10 -0
  215. gcore/types/waap/ip_info_list_attacked_countries_params.py +12 -0
  216. gcore/types/waap/ip_info_list_attacked_countries_response.py +10 -0
  217. gcore/types/waap/organization_list_params.py +22 -0
  218. gcore/types/waap/statistic_get_usage_series_params.py +25 -0
  219. gcore/types/waap/tag_list_params.py +28 -0
  220. gcore/types/waap/waap_advanced_rule.py +83 -0
  221. gcore/types/waap/waap_advanced_rule_descriptor.py +49 -0
  222. gcore/types/waap/waap_advanced_rule_descriptor_list.py +15 -0
  223. gcore/types/waap/waap_block_csrf_page_data.py +28 -0
  224. gcore/types/waap/waap_block_csrf_page_data_param.py +28 -0
  225. gcore/types/waap/waap_block_page_data.py +28 -0
  226. gcore/types/waap/waap_block_page_data_param.py +28 -0
  227. gcore/types/waap/waap_blocked_statistics.py +36 -0
  228. gcore/types/waap/waap_captcha_page_data.py +31 -0
  229. gcore/types/waap/waap_captcha_page_data_param.py +31 -0
  230. gcore/types/waap/waap_common_tag.py +16 -0
  231. gcore/types/waap/waap_cookie_disabled_page_data.py +18 -0
  232. gcore/types/waap/waap_cookie_disabled_page_data_param.py +18 -0
  233. gcore/types/waap/waap_count_statistics.py +36 -0
  234. gcore/types/waap/waap_custom_page_preview.py +10 -0
  235. gcore/types/waap/waap_custom_page_set.py +36 -0
  236. gcore/types/waap/waap_custom_rule.py +373 -0
  237. gcore/types/waap/waap_customer_rule_state.py +7 -0
  238. gcore/types/waap/waap_ddos_attack.py +16 -0
  239. gcore/types/waap/waap_ddos_info.py +17 -0
  240. gcore/types/waap/waap_detailed_domain.py +37 -0
  241. gcore/types/waap/waap_domain_api_settings.py +22 -0
  242. gcore/types/waap/waap_domain_ddos_settings.py +31 -0
  243. gcore/types/waap/waap_domain_policy.py +29 -0
  244. gcore/types/waap/waap_domain_settings_model.py +15 -0
  245. gcore/types/waap/waap_domain_status.py +7 -0
  246. gcore/types/waap/waap_event_statistics.py +15 -0
  247. gcore/types/waap/waap_firewall_rule.py +78 -0
  248. gcore/types/waap/waap_get_account_overview_response.py +34 -0
  249. gcore/types/waap/waap_handshake_page_data.py +25 -0
  250. gcore/types/waap/waap_handshake_page_data_param.py +25 -0
  251. gcore/types/waap/waap_insight.py +38 -0
  252. gcore/types/waap/waap_insight_silence.py +28 -0
  253. gcore/types/waap/waap_insight_silence_sort_by.py +9 -0
  254. gcore/types/waap/waap_insight_sort_by.py +20 -0
  255. gcore/types/waap/waap_insight_status.py +7 -0
  256. gcore/types/waap/waap_ip_country_attack.py +16 -0
  257. gcore/types/waap/waap_ip_ddos_info_model.py +23 -0
  258. gcore/types/waap/waap_ip_info.py +57 -0
  259. gcore/types/waap/waap_ip_info_counts.py +16 -0
  260. gcore/types/waap/waap_javascript_disabled_page_data.py +18 -0
  261. gcore/types/waap/waap_javascript_disabled_page_data_param.py +18 -0
  262. gcore/types/waap/waap_network_details.py +17 -0
  263. gcore/types/waap/waap_organization.py +13 -0
  264. gcore/types/waap/waap_page_type.py +9 -0
  265. gcore/types/waap/waap_paginated_custom_page_set.py +22 -0
  266. gcore/types/waap/waap_paginated_ddos_attack.py +22 -0
  267. gcore/types/waap/waap_paginated_ddos_info.py +22 -0
  268. gcore/types/waap/waap_paginated_request_summary.py +22 -0
  269. gcore/types/waap/waap_pattern_matched_tag.py +37 -0
  270. gcore/types/waap/waap_policy_action.py +7 -0
  271. gcore/types/waap/waap_policy_mode.py +10 -0
  272. gcore/types/waap/waap_request_details.py +92 -0
  273. gcore/types/waap/waap_request_organization.py +13 -0
  274. gcore/types/waap/waap_request_summary.py +59 -0
  275. gcore/types/waap/waap_resolution.py +7 -0
  276. gcore/types/waap/waap_rule_action_type.py +7 -0
  277. gcore/types/waap/waap_rule_blocked_requests.py +16 -0
  278. gcore/types/waap/waap_rule_set.py +41 -0
  279. gcore/types/waap/waap_statistic_item.py +18 -0
  280. gcore/types/waap/waap_statistics_series.py +16 -0
  281. gcore/types/waap/waap_summary_domain.py +26 -0
  282. gcore/types/waap/waap_tag.py +16 -0
  283. gcore/types/waap/waap_time_series_attack.py +23 -0
  284. gcore/types/waap/waap_top_session.py +24 -0
  285. gcore/types/waap/waap_top_url.py +13 -0
  286. gcore/types/waap/waap_top_user_agent.py +13 -0
  287. gcore/types/waap/waap_traffic_metrics.py +68 -0
  288. gcore/types/waap/waap_traffic_type.py +28 -0
  289. gcore/types/waap/waap_user_agent_details.py +40 -0
  290. {gcore-0.1.0a2.dist-info → gcore-0.3.0.dist-info}/METADATA +3 -3
  291. {gcore-0.1.0a2.dist-info → gcore-0.3.0.dist-info}/RECORD +293 -126
  292. {gcore-0.1.0a2.dist-info → gcore-0.3.0.dist-info}/WHEEL +0 -0
  293. {gcore-0.1.0a2.dist-info → gcore-0.3.0.dist-info}/licenses/LICENSE +0 -0
@@ -104,7 +104,7 @@ class DeploymentsResource(SyncAPIResource):
104
104
  name: Inference instance name.
105
105
 
106
106
  auth_enabled: Set to `true` to enable API key authentication for the inference instance.
107
- `"Authorization": "Bearer *****"` or `"X-Api-Key": "*****"` header is required
107
+ `"Authorization": "Bearer ****\\**"` or `"X-Api-Key": "****\\**"` header is required
108
108
  for the requests to the instance if enabled
109
109
 
110
110
  command: Command to be executed when running a container from an image.
@@ -120,7 +120,7 @@ class DeploymentsResource(SyncAPIResource):
120
120
  logging: Logging configuration for the inference instance
121
121
 
122
122
  probes: Probes configured for all containers of the inference instance. If probes are
123
- not provided, and the image_name is from a the Model Catalog registry, the
123
+ not provided, and the `image_name` is from a the Model Catalog registry, the
124
124
  default probes will be used.
125
125
 
126
126
  api_timeout: Specifies the duration in seconds without any requests after which the
@@ -171,13 +171,13 @@ class DeploymentsResource(SyncAPIResource):
171
171
  deployment_name: str,
172
172
  *,
173
173
  project_id: int | None = None,
174
- auth_enabled: Optional[bool] | NotGiven = NOT_GIVEN,
174
+ auth_enabled: bool | NotGiven = NOT_GIVEN,
175
175
  command: Optional[List[str]] | NotGiven = NOT_GIVEN,
176
176
  containers: Optional[Iterable[deployment_update_params.Container]] | NotGiven = NOT_GIVEN,
177
177
  credentials_name: Optional[str] | NotGiven = NOT_GIVEN,
178
178
  description: Optional[str] | NotGiven = NOT_GIVEN,
179
179
  envs: Optional[Dict[str, str]] | NotGiven = NOT_GIVEN,
180
- flavor_name: Optional[str] | NotGiven = NOT_GIVEN,
180
+ flavor_name: str | NotGiven = NOT_GIVEN,
181
181
  image: Optional[str] | NotGiven = NOT_GIVEN,
182
182
  ingress_opts: Optional[IngressOptsParam] | NotGiven = NOT_GIVEN,
183
183
  listening_port: Optional[int] | NotGiven = NOT_GIVEN,
@@ -200,7 +200,7 @@ class DeploymentsResource(SyncAPIResource):
200
200
  deployment_name: Inference instance name.
201
201
 
202
202
  auth_enabled: Set to `true` to enable API key authentication for the inference instance.
203
- `"Authorization": "Bearer *****"` or `"X-Api-Key": "*****"` header is required
203
+ `"Authorization": "Bearer ****\\**"` or `"X-Api-Key": "****\\**"` header is required
204
204
  for the requests to the instance if enabled
205
205
 
206
206
  command: Command to be executed when running a container from an image.
@@ -542,6 +542,165 @@ class DeploymentsResource(SyncAPIResource):
542
542
  cast_to=NoneType,
543
543
  )
544
544
 
545
+ def create_and_poll(
546
+ self,
547
+ *,
548
+ project_id: int | None = None,
549
+ containers: Iterable[deployment_create_params.Container],
550
+ flavor_name: str,
551
+ image: str,
552
+ listening_port: int,
553
+ name: str,
554
+ auth_enabled: bool | NotGiven = NOT_GIVEN,
555
+ command: Optional[List[str]] | NotGiven = NOT_GIVEN,
556
+ credentials_name: Optional[str] | NotGiven = NOT_GIVEN,
557
+ description: Optional[str] | NotGiven = NOT_GIVEN,
558
+ envs: Dict[str, str] | NotGiven = NOT_GIVEN,
559
+ ingress_opts: Optional[IngressOptsParam] | NotGiven = NOT_GIVEN,
560
+ logging: Optional[deployment_create_params.Logging] | NotGiven = NOT_GIVEN,
561
+ probes: Optional[deployment_create_params.Probes] | NotGiven = NOT_GIVEN,
562
+ api_timeout: Optional[int] | NotGiven = NOT_GIVEN,
563
+ polling_interval_seconds: int | NotGiven = NOT_GIVEN,
564
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
565
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
566
+ # The extra values given here take precedence over values defined on the client or passed to this method.
567
+ extra_headers: Headers | None = None,
568
+ extra_query: Query | None = None,
569
+ extra_body: Body | None = None,
570
+ ) -> Inference:
571
+ response = self.create(
572
+ project_id=project_id,
573
+ containers=containers,
574
+ flavor_name=flavor_name,
575
+ image=image,
576
+ listening_port=listening_port,
577
+ name=name,
578
+ auth_enabled=auth_enabled,
579
+ command=command,
580
+ credentials_name=credentials_name,
581
+ description=description,
582
+ envs=envs,
583
+ ingress_opts=ingress_opts,
584
+ logging=logging,
585
+ probes=probes,
586
+ api_timeout=api_timeout,
587
+ extra_headers=extra_headers,
588
+ extra_query=extra_query,
589
+ extra_body=extra_body,
590
+ timeout=timeout,
591
+ )
592
+ if not response.tasks or len(response.tasks) != 1:
593
+ raise ValueError(f"Expected exactly one task to be created")
594
+ task = self._client.cloud.tasks.poll(
595
+ task_id=response.tasks[0],
596
+ extra_headers=extra_headers,
597
+ polling_interval_seconds=polling_interval_seconds,
598
+ )
599
+ if not task.created_resources or not task.created_resources.inference_instances or len(task.created_resources.inference_instances) != 1:
600
+ raise ValueError(f"Expected exactly one resource to be created in a task")
601
+ return self.get(
602
+ deployment_name=task.created_resources.inference_instances[0],
603
+ project_id=project_id,
604
+ extra_headers=extra_headers,
605
+ timeout=timeout,
606
+ )
607
+
608
+ def update_and_poll(
609
+ self,
610
+ deployment_name: str,
611
+ *,
612
+ project_id: int | None = None,
613
+ auth_enabled: bool | NotGiven = NOT_GIVEN,
614
+ command: Optional[List[str]] | NotGiven = NOT_GIVEN,
615
+ containers: Optional[Iterable[deployment_update_params.Container]] | NotGiven = NOT_GIVEN,
616
+ credentials_name: Optional[str] | NotGiven = NOT_GIVEN,
617
+ description: Optional[str] | NotGiven = NOT_GIVEN,
618
+ envs: Optional[Dict[str, str]] | NotGiven = NOT_GIVEN,
619
+ flavor_name: str | NotGiven = NOT_GIVEN,
620
+ image: Optional[str] | NotGiven = NOT_GIVEN,
621
+ ingress_opts: Optional[IngressOptsParam] | NotGiven = NOT_GIVEN,
622
+ listening_port: Optional[int] | NotGiven = NOT_GIVEN,
623
+ logging: Optional[deployment_update_params.Logging] | NotGiven = NOT_GIVEN,
624
+ probes: Optional[deployment_update_params.Probes] | NotGiven = NOT_GIVEN,
625
+ api_timeout: Optional[int] | NotGiven = NOT_GIVEN,
626
+ polling_interval_seconds: int | NotGiven = NOT_GIVEN,
627
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
628
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
629
+ # The extra values given here take precedence over values defined on the client or passed to this method.
630
+ extra_headers: Headers | None = None,
631
+ extra_query: Query | None = None,
632
+ extra_body: Body | None = None,
633
+ ) -> Inference:
634
+ """
635
+ Update inference deployment and poll for the result. Only the first task will be polled. If you need to poll more tasks, use the `tasks.poll` method.
636
+ """
637
+ response = self.update(
638
+ deployment_name=deployment_name,
639
+ project_id=project_id,
640
+ auth_enabled=auth_enabled,
641
+ command=command,
642
+ containers=containers,
643
+ credentials_name=credentials_name,
644
+ description=description,
645
+ envs=envs,
646
+ flavor_name=flavor_name,
647
+ image=image,
648
+ ingress_opts=ingress_opts,
649
+ listening_port=listening_port,
650
+ logging=logging,
651
+ probes=probes,
652
+ api_timeout=api_timeout,
653
+ extra_headers=extra_headers,
654
+ extra_query=extra_query,
655
+ extra_body=extra_body,
656
+ timeout=timeout,
657
+ )
658
+ if not response.tasks or len(response.tasks) < 1:
659
+ raise ValueError("Expected at least one task to be created")
660
+ self._client.cloud.tasks.poll(
661
+ task_id=response.tasks[0],
662
+ extra_headers=extra_headers,
663
+ polling_interval_seconds=polling_interval_seconds,
664
+ )
665
+ return self.get(
666
+ deployment_name=deployment_name,
667
+ project_id=project_id,
668
+ extra_headers=extra_headers,
669
+ timeout=timeout,
670
+ )
671
+
672
+ def delete_and_poll(
673
+ self,
674
+ deployment_name: str,
675
+ *,
676
+ project_id: int | None = None,
677
+ polling_interval_seconds: int | NotGiven = NOT_GIVEN,
678
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
679
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
680
+ # The extra values given here take precedence over values defined on the client or passed to this method.
681
+ extra_headers: Headers | None = None,
682
+ extra_query: Query | None = None,
683
+ extra_body: Body | None = None,
684
+ ) -> None:
685
+ """
686
+ Delete inference deployment and poll for the result. Only the first task will be polled. If you need to poll more tasks, use the `tasks.poll` method.
687
+ """
688
+ response = self.delete(
689
+ deployment_name=deployment_name,
690
+ project_id=project_id,
691
+ extra_headers=extra_headers,
692
+ extra_query=extra_query,
693
+ extra_body=extra_body,
694
+ timeout=timeout,
695
+ )
696
+ if not response.tasks or len(response.tasks) < 1:
697
+ raise ValueError("Expected at least one task to be created")
698
+ self._client.cloud.tasks.poll(
699
+ task_id=response.tasks[0],
700
+ extra_headers=extra_headers,
701
+ polling_interval_seconds=polling_interval_seconds,
702
+ )
703
+
545
704
 
546
705
  class AsyncDeploymentsResource(AsyncAPIResource):
547
706
  @cached_property
@@ -612,7 +771,7 @@ class AsyncDeploymentsResource(AsyncAPIResource):
612
771
  name: Inference instance name.
613
772
 
614
773
  auth_enabled: Set to `true` to enable API key authentication for the inference instance.
615
- `"Authorization": "Bearer *****"` or `"X-Api-Key": "*****"` header is required
774
+ `"Authorization": "Bearer ****\\**"` or `"X-Api-Key": "****\\**"` header is required
616
775
  for the requests to the instance if enabled
617
776
 
618
777
  command: Command to be executed when running a container from an image.
@@ -628,7 +787,7 @@ class AsyncDeploymentsResource(AsyncAPIResource):
628
787
  logging: Logging configuration for the inference instance
629
788
 
630
789
  probes: Probes configured for all containers of the inference instance. If probes are
631
- not provided, and the image_name is from a the Model Catalog registry, the
790
+ not provided, and the `image_name` is from a the Model Catalog registry, the
632
791
  default probes will be used.
633
792
 
634
793
  api_timeout: Specifies the duration in seconds without any requests after which the
@@ -679,13 +838,13 @@ class AsyncDeploymentsResource(AsyncAPIResource):
679
838
  deployment_name: str,
680
839
  *,
681
840
  project_id: int | None = None,
682
- auth_enabled: Optional[bool] | NotGiven = NOT_GIVEN,
841
+ auth_enabled: bool | NotGiven = NOT_GIVEN,
683
842
  command: Optional[List[str]] | NotGiven = NOT_GIVEN,
684
843
  containers: Optional[Iterable[deployment_update_params.Container]] | NotGiven = NOT_GIVEN,
685
844
  credentials_name: Optional[str] | NotGiven = NOT_GIVEN,
686
845
  description: Optional[str] | NotGiven = NOT_GIVEN,
687
846
  envs: Optional[Dict[str, str]] | NotGiven = NOT_GIVEN,
688
- flavor_name: Optional[str] | NotGiven = NOT_GIVEN,
847
+ flavor_name: str | NotGiven = NOT_GIVEN,
689
848
  image: Optional[str] | NotGiven = NOT_GIVEN,
690
849
  ingress_opts: Optional[IngressOptsParam] | NotGiven = NOT_GIVEN,
691
850
  listening_port: Optional[int] | NotGiven = NOT_GIVEN,
@@ -708,7 +867,7 @@ class AsyncDeploymentsResource(AsyncAPIResource):
708
867
  deployment_name: Inference instance name.
709
868
 
710
869
  auth_enabled: Set to `true` to enable API key authentication for the inference instance.
711
- `"Authorization": "Bearer *****"` or `"X-Api-Key": "*****"` header is required
870
+ `"Authorization": "Bearer ****\\**"` or `"X-Api-Key": "****\\**"` header is required
712
871
  for the requests to the instance if enabled
713
872
 
714
873
  command: Command to be executed when running a container from an image.
@@ -1050,6 +1209,165 @@ class AsyncDeploymentsResource(AsyncAPIResource):
1050
1209
  cast_to=NoneType,
1051
1210
  )
1052
1211
 
1212
+ async def create_and_poll(
1213
+ self,
1214
+ *,
1215
+ project_id: int | None = None,
1216
+ containers: Iterable[deployment_create_params.Container],
1217
+ flavor_name: str,
1218
+ image: str,
1219
+ listening_port: int,
1220
+ name: str,
1221
+ auth_enabled: bool | NotGiven = NOT_GIVEN,
1222
+ command: Optional[List[str]] | NotGiven = NOT_GIVEN,
1223
+ credentials_name: Optional[str] | NotGiven = NOT_GIVEN,
1224
+ description: Optional[str] | NotGiven = NOT_GIVEN,
1225
+ envs: Dict[str, str] | NotGiven = NOT_GIVEN,
1226
+ ingress_opts: Optional[IngressOptsParam] | NotGiven = NOT_GIVEN,
1227
+ logging: Optional[deployment_create_params.Logging] | NotGiven = NOT_GIVEN,
1228
+ probes: Optional[deployment_create_params.Probes] | NotGiven = NOT_GIVEN,
1229
+ api_timeout: Optional[int] | NotGiven = NOT_GIVEN,
1230
+ polling_interval_seconds: int | NotGiven = NOT_GIVEN,
1231
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
1232
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
1233
+ # The extra values given here take precedence over values defined on the client or passed to this method.
1234
+ extra_headers: Headers | None = None,
1235
+ extra_query: Query | None = None,
1236
+ extra_body: Body | None = None,
1237
+ ) -> Inference:
1238
+ response = await self.create(
1239
+ project_id=project_id,
1240
+ containers=containers,
1241
+ flavor_name=flavor_name,
1242
+ image=image,
1243
+ listening_port=listening_port,
1244
+ name=name,
1245
+ auth_enabled=auth_enabled,
1246
+ command=command,
1247
+ credentials_name=credentials_name,
1248
+ description=description,
1249
+ envs=envs,
1250
+ ingress_opts=ingress_opts,
1251
+ logging=logging,
1252
+ probes=probes,
1253
+ api_timeout=api_timeout,
1254
+ extra_headers=extra_headers,
1255
+ extra_query=extra_query,
1256
+ extra_body=extra_body,
1257
+ timeout=timeout,
1258
+ )
1259
+ if not response.tasks or len(response.tasks) != 1:
1260
+ raise ValueError(f"Expected exactly one task to be created")
1261
+ task = await self._client.cloud.tasks.poll(
1262
+ task_id=response.tasks[0],
1263
+ extra_headers=extra_headers,
1264
+ polling_interval_seconds=polling_interval_seconds,
1265
+ )
1266
+ if not task.created_resources or not task.created_resources.inference_instances or len(task.created_resources.inference_instances) != 1:
1267
+ raise ValueError(f"Expected exactly one resource to be created in a task")
1268
+ return await self.get(
1269
+ deployment_name=task.created_resources.inference_instances[0],
1270
+ project_id=project_id,
1271
+ extra_headers=extra_headers,
1272
+ timeout=timeout,
1273
+ )
1274
+
1275
+ async def update_and_poll(
1276
+ self,
1277
+ deployment_name: str,
1278
+ *,
1279
+ project_id: int | None = None,
1280
+ auth_enabled: bool | NotGiven = NOT_GIVEN,
1281
+ command: Optional[List[str]] | NotGiven = NOT_GIVEN,
1282
+ containers: Optional[Iterable[deployment_update_params.Container]] | NotGiven = NOT_GIVEN,
1283
+ credentials_name: Optional[str] | NotGiven = NOT_GIVEN,
1284
+ description: Optional[str] | NotGiven = NOT_GIVEN,
1285
+ envs: Optional[Dict[str, str]] | NotGiven = NOT_GIVEN,
1286
+ flavor_name: str | NotGiven = NOT_GIVEN,
1287
+ image: Optional[str] | NotGiven = NOT_GIVEN,
1288
+ ingress_opts: Optional[IngressOptsParam] | NotGiven = NOT_GIVEN,
1289
+ listening_port: Optional[int] | NotGiven = NOT_GIVEN,
1290
+ logging: Optional[deployment_update_params.Logging] | NotGiven = NOT_GIVEN,
1291
+ probes: Optional[deployment_update_params.Probes] | NotGiven = NOT_GIVEN,
1292
+ api_timeout: Optional[int] | NotGiven = NOT_GIVEN,
1293
+ polling_interval_seconds: int | NotGiven = NOT_GIVEN,
1294
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
1295
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
1296
+ # The extra values given here take precedence over values defined on the client or passed to this method.
1297
+ extra_headers: Headers | None = None,
1298
+ extra_query: Query | None = None,
1299
+ extra_body: Body | None = None,
1300
+ ) -> Inference:
1301
+ """
1302
+ Update inference deployment and poll for the result. Only the first task will be polled. If you need to poll more tasks, use the `tasks.poll` method.
1303
+ """
1304
+ response = await self.update(
1305
+ deployment_name=deployment_name,
1306
+ project_id=project_id,
1307
+ auth_enabled=auth_enabled,
1308
+ command=command,
1309
+ containers=containers,
1310
+ credentials_name=credentials_name,
1311
+ description=description,
1312
+ envs=envs,
1313
+ flavor_name=flavor_name,
1314
+ image=image,
1315
+ ingress_opts=ingress_opts,
1316
+ listening_port=listening_port,
1317
+ logging=logging,
1318
+ probes=probes,
1319
+ api_timeout=api_timeout,
1320
+ extra_headers=extra_headers,
1321
+ extra_query=extra_query,
1322
+ extra_body=extra_body,
1323
+ timeout=timeout,
1324
+ )
1325
+ if not response.tasks or len(response.tasks) < 1:
1326
+ raise ValueError("Expected at least one task to be created")
1327
+ await self._client.cloud.tasks.poll(
1328
+ task_id=response.tasks[0],
1329
+ extra_headers=extra_headers,
1330
+ polling_interval_seconds=polling_interval_seconds,
1331
+ )
1332
+ return await self.get(
1333
+ deployment_name=deployment_name,
1334
+ project_id=project_id,
1335
+ extra_headers=extra_headers,
1336
+ timeout=timeout,
1337
+ )
1338
+
1339
+ async def delete_and_poll(
1340
+ self,
1341
+ deployment_name: str,
1342
+ *,
1343
+ project_id: int | None = None,
1344
+ polling_interval_seconds: int | NotGiven = NOT_GIVEN,
1345
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
1346
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
1347
+ # The extra values given here take precedence over values defined on the client or passed to this method.
1348
+ extra_headers: Headers | None = None,
1349
+ extra_query: Query | None = None,
1350
+ extra_body: Body | None = None,
1351
+ ) -> None:
1352
+ """
1353
+ Delete inference deployment and poll for the result. Only the first task will be polled. If you need to poll more tasks, use the `tasks.poll` method.
1354
+ """
1355
+ response = await self.delete(
1356
+ deployment_name=deployment_name,
1357
+ project_id=project_id,
1358
+ extra_headers=extra_headers,
1359
+ extra_query=extra_query,
1360
+ extra_body=extra_body,
1361
+ timeout=timeout,
1362
+ )
1363
+ if not response.tasks or len(response.tasks) < 1:
1364
+ raise ValueError("Expected at least one task to be created")
1365
+ await self._client.cloud.tasks.poll(
1366
+ task_id=response.tasks[0],
1367
+ extra_headers=extra_headers,
1368
+ polling_interval_seconds=polling_interval_seconds,
1369
+ )
1370
+
1053
1371
 
1054
1372
  class DeploymentsResourceWithRawResponse:
1055
1373
  def __init__(self, deployments: DeploymentsResource) -> None:
@@ -61,7 +61,7 @@ class FlavorsResource(SyncAPIResource):
61
61
  ) -> InstanceFlavorList:
62
62
  """Retrieve a list of flavors.
63
63
 
64
- When the include_prices query parameter is
64
+ When the `include_prices` query parameter is
65
65
  specified, the list shows prices. A client in trial mode gets all price values
66
66
  as 0. If you get Pricing Error contact the support
67
67
 
@@ -243,7 +243,7 @@ class AsyncFlavorsResource(AsyncAPIResource):
243
243
  ) -> InstanceFlavorList:
244
244
  """Retrieve a list of flavors.
245
245
 
246
- When the include_prices query parameter is
246
+ When the `include_prices` query parameter is
247
247
  specified, the list shows prices. A client in trial mode gets all price values
248
248
  as 0. If you get Pricing Error contact the support
249
249