gcore 0.10.0__py3-none-any.whl → 0.12.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 (320) hide show
  1. gcore/_base_client.py +3 -3
  2. gcore/_client.py +18 -0
  3. gcore/_compat.py +48 -48
  4. gcore/_models.py +41 -41
  5. gcore/_types.py +35 -1
  6. gcore/_utils/__init__.py +9 -2
  7. gcore/_utils/_compat.py +45 -0
  8. gcore/_utils/_datetime_parse.py +136 -0
  9. gcore/_utils/_transform.py +11 -1
  10. gcore/_utils/_typing.py +6 -1
  11. gcore/_utils/_utils.py +0 -1
  12. gcore/_version.py +1 -1
  13. gcore/resources/__init__.py +28 -0
  14. gcore/resources/cloud/__init__.py +14 -0
  15. gcore/resources/cloud/audit_logs.py +3 -3
  16. gcore/resources/cloud/baremetal/images.py +3 -4
  17. gcore/resources/cloud/baremetal/servers.py +16 -4
  18. gcore/resources/cloud/cloud.py +32 -0
  19. gcore/resources/cloud/cost_reports.py +24 -16
  20. gcore/resources/cloud/file_shares/access_rules.py +2 -2
  21. gcore/resources/cloud/file_shares/file_shares.py +30 -14
  22. gcore/resources/cloud/floating_ips.py +196 -4
  23. gcore/resources/cloud/gpu_baremetal_clusters/flavors.py +1 -1
  24. gcore/resources/cloud/gpu_baremetal_clusters/gpu_baremetal_clusters.py +166 -190
  25. gcore/resources/cloud/gpu_baremetal_clusters/servers.py +268 -12
  26. gcore/resources/cloud/inference/__init__.py +14 -14
  27. gcore/resources/cloud/inference/applications/__init__.py +47 -0
  28. gcore/resources/cloud/inference/applications/applications.py +134 -0
  29. gcore/resources/cloud/inference/applications/deployments.py +649 -0
  30. gcore/resources/cloud/inference/applications/templates.py +238 -0
  31. gcore/resources/cloud/inference/deployments/deployments.py +41 -22
  32. gcore/resources/cloud/inference/inference.py +32 -32
  33. gcore/resources/cloud/inference/registry_credentials.py +8 -9
  34. gcore/resources/cloud/instances/images.py +4 -4
  35. gcore/resources/cloud/instances/instances.py +254 -4
  36. gcore/resources/cloud/instances/interfaces.py +544 -0
  37. gcore/resources/cloud/k8s/__init__.py +47 -0
  38. gcore/resources/cloud/k8s/clusters/__init__.py +47 -0
  39. gcore/resources/cloud/k8s/clusters/clusters.py +1391 -0
  40. gcore/resources/cloud/k8s/clusters/nodes.py +291 -0
  41. gcore/resources/cloud/k8s/clusters/pools/__init__.py +33 -0
  42. gcore/resources/cloud/k8s/clusters/pools/nodes.py +303 -0
  43. gcore/resources/cloud/k8s/clusters/pools/pools.py +870 -0
  44. gcore/resources/cloud/k8s/flavors.py +209 -0
  45. gcore/resources/cloud/k8s/k8s.py +233 -0
  46. gcore/resources/cloud/load_balancers/l7_policies/l7_policies.py +11 -12
  47. gcore/resources/cloud/load_balancers/l7_policies/rules.py +9 -10
  48. gcore/resources/cloud/load_balancers/listeners.py +18 -18
  49. gcore/resources/cloud/load_balancers/load_balancers.py +4 -4
  50. gcore/resources/cloud/load_balancers/pools/health_monitors.py +18 -6
  51. gcore/resources/cloud/load_balancers/pools/members.py +32 -2
  52. gcore/resources/cloud/load_balancers/pools/pools.py +32 -8
  53. gcore/resources/cloud/networks/networks.py +192 -4
  54. gcore/resources/cloud/networks/subnets.py +140 -8
  55. gcore/resources/cloud/reserved_fixed_ips/reserved_fixed_ips.py +608 -0
  56. gcore/resources/cloud/reserved_fixed_ips/vip.py +5 -7
  57. gcore/resources/cloud/security_groups/security_groups.py +6 -6
  58. gcore/resources/cloud/tasks.py +46 -46
  59. gcore/resources/cloud/users/role_assignments.py +5 -4
  60. gcore/resources/cloud/volumes.py +1125 -223
  61. gcore/resources/dns/__init__.py +75 -0
  62. gcore/resources/dns/dns.py +374 -0
  63. gcore/resources/dns/locations.py +288 -0
  64. gcore/resources/dns/metrics.py +214 -0
  65. gcore/resources/dns/pickers/__init__.py +33 -0
  66. gcore/resources/dns/pickers/pickers.py +167 -0
  67. gcore/resources/dns/pickers/presets.py +135 -0
  68. gcore/resources/dns/zones/__init__.py +47 -0
  69. gcore/resources/{cloud/inference/models.py → dns/zones/dnssec.py} +80 -122
  70. gcore/resources/dns/zones/rrsets.py +1005 -0
  71. gcore/resources/dns/zones/zones.py +1493 -0
  72. gcore/resources/storage/__init__.py +75 -0
  73. gcore/resources/storage/buckets/__init__.py +61 -0
  74. gcore/resources/storage/buckets/buckets.py +470 -0
  75. gcore/resources/storage/buckets/cors.py +265 -0
  76. gcore/resources/storage/buckets/lifecycle.py +276 -0
  77. gcore/resources/storage/buckets/policy.py +345 -0
  78. gcore/resources/storage/credentials.py +221 -0
  79. gcore/resources/storage/locations.py +190 -0
  80. gcore/resources/storage/statistics.py +364 -0
  81. gcore/resources/storage/storage.py +1046 -0
  82. gcore/resources/streaming/ai_tasks.py +56 -70
  83. gcore/resources/streaming/playlists.py +18 -18
  84. gcore/resources/streaming/quality_sets.py +8 -8
  85. gcore/resources/streaming/statistics.py +4 -122
  86. gcore/resources/streaming/streams/overlays.py +6 -6
  87. gcore/resources/streaming/streams/streams.py +40 -64
  88. gcore/resources/streaming/videos/subtitles.py +32 -30
  89. gcore/resources/streaming/videos/videos.py +78 -72
  90. gcore/resources/waap/domains/advanced_rules.py +2 -2
  91. gcore/resources/waap/domains/api_paths.py +13 -13
  92. gcore/resources/waap/domains/custom_rules.py +2 -2
  93. gcore/resources/waap/domains/domains.py +4 -4
  94. gcore/resources/waap/domains/firewall_rules.py +2 -2
  95. gcore/resources/waap/domains/insight_silences.py +6 -6
  96. gcore/resources/waap/domains/insights.py +7 -7
  97. gcore/resources/waap/domains/statistics.py +47 -47
  98. gcore/types/cloud/__init__.py +2 -4
  99. gcore/types/cloud/audit_log_list_params.py +2 -1
  100. gcore/types/cloud/baremetal/image_list_params.py +3 -2
  101. gcore/types/cloud/baremetal/server_create_params.py +8 -6
  102. gcore/types/cloud/baremetal/server_list_params.py +3 -2
  103. gcore/types/cloud/baremetal/server_rebuild_params.py +2 -0
  104. gcore/types/cloud/cost_report_get_aggregated_monthly_params.py +35 -31
  105. gcore/types/cloud/cost_report_get_aggregated_params.py +26 -25
  106. gcore/types/cloud/cost_report_get_detailed_params.py +26 -25
  107. gcore/types/cloud/ddos_profile.py +13 -7
  108. gcore/types/cloud/ddos_profile_field.py +21 -8
  109. gcore/types/cloud/ddos_profile_option_list.py +7 -6
  110. gcore/types/cloud/ddos_profile_status.py +2 -2
  111. gcore/types/cloud/ddos_profile_template.py +7 -3
  112. gcore/types/cloud/ddos_profile_template_field.py +12 -3
  113. gcore/types/cloud/file_share.py +2 -2
  114. gcore/types/cloud/file_share_create_params.py +12 -6
  115. gcore/types/cloud/floating_ip_list_params.py +3 -2
  116. gcore/types/cloud/gpu_baremetal_cluster.py +101 -74
  117. gcore/types/cloud/gpu_baremetal_cluster_create_params.py +76 -93
  118. gcore/types/cloud/gpu_baremetal_cluster_delete_params.py +17 -10
  119. gcore/types/cloud/gpu_baremetal_cluster_list_params.py +14 -3
  120. gcore/types/cloud/gpu_baremetal_cluster_rebuild_params.py +4 -2
  121. gcore/types/cloud/gpu_baremetal_clusters/__init__.py +6 -0
  122. gcore/types/cloud/gpu_baremetal_clusters/gpu_baremetal_cluster_server.py +74 -0
  123. gcore/types/cloud/{gpu_baremetal_cluster_server.py → gpu_baremetal_clusters/gpu_baremetal_cluster_server_v1.py} +10 -10
  124. gcore/types/cloud/gpu_baremetal_clusters/gpu_baremetal_cluster_server_v1_list.py +16 -0
  125. gcore/types/cloud/{gpu_baremetal_flavor.py → gpu_baremetal_clusters/gpu_baremetal_flavor.py} +1 -1
  126. gcore/types/cloud/{gpu_baremetal_flavor_list.py → gpu_baremetal_clusters/gpu_baremetal_flavor_list.py} +1 -1
  127. gcore/types/cloud/gpu_baremetal_clusters/server_list_params.py +75 -0
  128. gcore/types/cloud/inference/__init__.py +0 -5
  129. gcore/types/cloud/inference/applications/__init__.py +12 -0
  130. gcore/types/cloud/inference/applications/deployment_create_params.py +68 -0
  131. gcore/types/cloud/inference/applications/deployment_patch_params.py +62 -0
  132. gcore/types/cloud/inference/applications/inference_application_deployment.py +111 -0
  133. gcore/types/cloud/inference/applications/inference_application_deployment_list.py +16 -0
  134. gcore/types/cloud/inference/applications/inference_application_template.py +94 -0
  135. gcore/types/cloud/inference/applications/inference_application_template_list.py +16 -0
  136. gcore/types/cloud/inference/deployment_create_params.py +7 -6
  137. gcore/types/cloud/inference/deployment_update_params.py +7 -6
  138. gcore/types/cloud/instance_assign_security_group_params.py +4 -2
  139. gcore/types/cloud/instance_list_params.py +3 -2
  140. gcore/types/cloud/instance_unassign_security_group_params.py +4 -2
  141. gcore/types/cloud/instances/image_list_params.py +3 -2
  142. gcore/types/cloud/k8s/__init__.py +13 -0
  143. gcore/types/cloud/k8s/cluster_create_params.py +299 -0
  144. gcore/types/cloud/k8s/cluster_delete_params.py +16 -0
  145. gcore/types/cloud/k8s/cluster_update_params.py +203 -0
  146. gcore/types/cloud/k8s/cluster_upgrade_params.py +16 -0
  147. gcore/types/cloud/k8s/clusters/__init__.py +10 -0
  148. gcore/types/cloud/k8s/clusters/k8s_cluster_pool.py +66 -0
  149. gcore/types/cloud/k8s/clusters/k8s_cluster_pool_list.py +16 -0
  150. gcore/types/cloud/k8s/clusters/node_list_params.py +16 -0
  151. gcore/types/cloud/k8s/clusters/pool_create_params.py +53 -0
  152. gcore/types/cloud/k8s/clusters/pool_resize_params.py +18 -0
  153. gcore/types/cloud/k8s/clusters/pool_update_params.py +34 -0
  154. gcore/types/cloud/k8s/clusters/pools/__init__.py +5 -0
  155. gcore/types/cloud/k8s/clusters/pools/node_list_params.py +18 -0
  156. gcore/types/cloud/k8s/flavor_list_params.py +19 -0
  157. gcore/types/cloud/k8s/k8s_cluster.py +209 -0
  158. gcore/types/cloud/k8s/k8s_cluster_certificate.py +13 -0
  159. gcore/types/cloud/k8s/k8s_cluster_kubeconfig.py +19 -0
  160. gcore/types/cloud/k8s/k8s_cluster_list.py +16 -0
  161. gcore/types/cloud/k8s_cluster_version.py +10 -0
  162. gcore/types/cloud/{gpu_baremetal_cluster_server_list.py → k8s_cluster_version_list.py} +4 -4
  163. gcore/types/cloud/load_balancer_create_params.py +23 -4
  164. gcore/types/cloud/load_balancer_list_params.py +3 -2
  165. gcore/types/cloud/load_balancers/l7_policies/rule_create_params.py +3 -2
  166. gcore/types/cloud/load_balancers/l7_policies/rule_replace_params.py +3 -2
  167. gcore/types/cloud/load_balancers/l7_policy_create_params.py +3 -2
  168. gcore/types/cloud/load_balancers/l7_policy_replace_params.py +3 -2
  169. gcore/types/cloud/load_balancers/listener_create_params.py +4 -3
  170. gcore/types/cloud/load_balancers/listener_update_params.py +5 -3
  171. gcore/types/cloud/load_balancers/pool_create_params.py +19 -1
  172. gcore/types/cloud/load_balancers/pool_update_params.py +19 -1
  173. gcore/types/cloud/load_balancers/pools/member_add_params.py +19 -1
  174. gcore/types/cloud/member.py +19 -1
  175. gcore/types/cloud/network_list_params.py +3 -2
  176. gcore/types/cloud/networks/subnet_create_params.py +3 -2
  177. gcore/types/cloud/networks/subnet_list_params.py +3 -2
  178. gcore/types/cloud/networks/subnet_update_params.py +3 -2
  179. gcore/types/cloud/project.py +9 -9
  180. gcore/types/cloud/reserved_fixed_ips/vip_replace_connected_ports_params.py +3 -2
  181. gcore/types/cloud/reserved_fixed_ips/vip_update_connected_ports_params.py +3 -2
  182. gcore/types/cloud/security_group_create_params.py +4 -2
  183. gcore/types/cloud/security_group_list_params.py +3 -2
  184. gcore/types/cloud/task_id_list.py +8 -1
  185. gcore/types/cloud/task_list_params.py +23 -23
  186. gcore/types/cloud/usage_report_get_params.py +26 -25
  187. gcore/types/cloud/users/role_assignment.py +2 -1
  188. gcore/types/cloud/users/role_assignment_create_params.py +4 -2
  189. gcore/types/cloud/users/role_assignment_update_params.py +4 -2
  190. gcore/types/cloud/volume_list_params.py +3 -2
  191. gcore/types/dns/__init__.py +31 -0
  192. gcore/types/dns/dns_get_account_overview_response.py +21 -0
  193. gcore/types/dns/dns_label_name.py +13 -0
  194. gcore/types/dns/dns_location_translations.py +11 -0
  195. gcore/types/dns/dns_lookup_params.py +15 -0
  196. gcore/types/dns/dns_lookup_response.py +21 -0
  197. gcore/types/dns/dns_name_server.py +17 -0
  198. gcore/types/dns/location_list_continents_response.py +10 -0
  199. gcore/types/dns/location_list_countries_response.py +10 -0
  200. gcore/types/dns/location_list_regions_response.py +10 -0
  201. gcore/types/dns/location_list_response.py +16 -0
  202. gcore/types/dns/metric_list_params.py +24 -0
  203. gcore/types/dns/metric_list_response.py +7 -0
  204. gcore/types/dns/picker_list_response.py +10 -0
  205. gcore/types/dns/pickers/__init__.py +5 -0
  206. gcore/types/dns/pickers/preset_list_response.py +10 -0
  207. gcore/types/dns/zone_check_delegation_status_response.py +20 -0
  208. gcore/types/dns/zone_create_params.py +59 -0
  209. gcore/types/dns/zone_create_response.py +13 -0
  210. gcore/types/dns/zone_export_response.py +11 -0
  211. gcore/types/dns/zone_get_response.py +106 -0
  212. gcore/types/dns/zone_get_statistics_params.py +43 -0
  213. gcore/types/dns/zone_get_statistics_response.py +19 -0
  214. gcore/types/dns/zone_import_params.py +32 -0
  215. gcore/types/dns/zone_import_response.py +26 -0
  216. gcore/types/dns/zone_list_params.py +57 -0
  217. gcore/types/dns/zone_list_response.py +105 -0
  218. gcore/types/dns/zone_replace_params.py +61 -0
  219. gcore/types/dns/zones/__init__.py +15 -0
  220. gcore/types/dns/zones/dns_failover_log.py +19 -0
  221. gcore/types/dns/zones/dns_output_rrset.py +123 -0
  222. gcore/types/dns/zones/dnssec_get_response.py +38 -0
  223. gcore/types/dns/zones/dnssec_update_params.py +11 -0
  224. gcore/types/dns/zones/dnssec_update_response.py +38 -0
  225. gcore/types/dns/zones/rrset_create_params.py +82 -0
  226. gcore/types/dns/zones/rrset_get_failover_logs_params.py +21 -0
  227. gcore/types/dns/zones/rrset_get_failover_logs_response.py +15 -0
  228. gcore/types/dns/zones/rrset_list_params.py +21 -0
  229. gcore/types/dns/zones/rrset_list_response.py +14 -0
  230. gcore/types/dns/zones/rrset_replace_params.py +82 -0
  231. gcore/types/security/client_profile.py +1 -1
  232. gcore/types/security/profile_create_params.py +2 -2
  233. gcore/types/security/profile_recreate_params.py +2 -2
  234. gcore/types/security/profile_replace_params.py +2 -2
  235. gcore/types/storage/__init__.py +21 -0
  236. gcore/types/storage/bucket.py +15 -0
  237. gcore/types/storage/bucket_list_params.py +15 -0
  238. gcore/types/storage/buckets/__init__.py +9 -0
  239. gcore/types/storage/buckets/bucket_cors.py +18 -0
  240. gcore/types/storage/buckets/bucket_policy.py +7 -0
  241. gcore/types/storage/buckets/cor_create_params.py +17 -0
  242. gcore/types/storage/buckets/lifecycle_create_params.py +18 -0
  243. gcore/types/storage/buckets/policy_get_response.py +7 -0
  244. gcore/types/storage/credential_recreate_params.py +36 -0
  245. gcore/types/storage/location.py +24 -0
  246. gcore/types/storage/location_list_params.py +13 -0
  247. gcore/types/storage/statistic_get_usage_aggregated_params.py +24 -0
  248. gcore/types/storage/statistic_get_usage_series_params.py +38 -0
  249. gcore/types/storage/statistic_get_usage_series_response.py +12 -0
  250. gcore/types/storage/storage.py +101 -0
  251. gcore/types/storage/storage_create_params.py +44 -0
  252. gcore/types/storage/storage_list_params.py +39 -0
  253. gcore/types/storage/storage_restore_params.py +11 -0
  254. gcore/types/storage/storage_update_params.py +18 -0
  255. gcore/types/storage/usage_series.py +201 -0
  256. gcore/types/storage/usage_total.py +54 -0
  257. gcore/types/streaming/__init__.py +0 -4
  258. gcore/types/streaming/ai_contentmoderation_hardnudity.py +1 -1
  259. gcore/types/streaming/ai_contentmoderation_nsfw.py +1 -1
  260. gcore/types/streaming/ai_contentmoderation_softnudity.py +1 -1
  261. gcore/types/streaming/ai_contentmoderation_sport.py +1 -1
  262. gcore/types/streaming/ai_task.py +1 -5
  263. gcore/types/streaming/ai_task_create_params.py +2 -2
  264. gcore/types/streaming/ai_task_get_response.py +0 -46
  265. gcore/types/streaming/clip.py +2 -1
  266. gcore/types/streaming/create_video_param.py +13 -12
  267. gcore/types/streaming/max_stream_series.py +5 -5
  268. gcore/types/streaming/playlist.py +1 -1
  269. gcore/types/streaming/playlist_create_params.py +1 -1
  270. gcore/types/streaming/playlist_update_params.py +1 -1
  271. gcore/types/streaming/playlist_video.py +13 -12
  272. gcore/types/streaming/storage_series.py +5 -5
  273. gcore/types/streaming/stream.py +86 -49
  274. gcore/types/streaming/stream_create_clip_params.py +2 -1
  275. gcore/types/streaming/stream_create_params.py +9 -23
  276. gcore/types/streaming/stream_series.py +5 -5
  277. gcore/types/streaming/stream_update_params.py +9 -23
  278. gcore/types/streaming/video.py +53 -42
  279. gcore/types/streaming/video_update_params.py +13 -12
  280. gcore/types/streaming/vod_statistics_series.py +5 -5
  281. gcore/types/streaming/vod_total_stream_duration_series.py +3 -3
  282. gcore/types/waap/domain_list_params.py +1 -1
  283. gcore/types/waap/domain_update_params.py +1 -1
  284. gcore/types/waap/domains/advanced_rule_create_params.py +7 -4
  285. gcore/types/waap/domains/advanced_rule_update_params.py +6 -3
  286. gcore/types/waap/domains/api_path_create_params.py +4 -3
  287. gcore/types/waap/domains/api_path_list_params.py +3 -1
  288. gcore/types/waap/domains/api_path_update_params.py +5 -4
  289. gcore/types/waap/domains/custom_rule_create_params.py +13 -14
  290. gcore/types/waap/domains/custom_rule_update_params.py +12 -13
  291. gcore/types/waap/domains/firewall_rule_create_params.py +3 -2
  292. gcore/types/waap/domains/firewall_rule_update_params.py +2 -1
  293. gcore/types/waap/domains/insight_list_params.py +4 -2
  294. gcore/types/waap/domains/insight_replace_params.py +1 -1
  295. gcore/types/waap/domains/insight_silence_list_params.py +5 -3
  296. gcore/types/waap/domains/setting_update_params.py +3 -2
  297. gcore/types/waap/domains/statistic_get_ddos_info_params.py +6 -9
  298. gcore/types/waap/domains/statistic_get_events_aggregated_params.py +9 -10
  299. gcore/types/waap/domains/statistic_get_requests_series_params.py +8 -9
  300. gcore/types/waap/domains/statistic_get_traffic_series_params.py +6 -9
  301. gcore/types/waap/domains/waap_advanced_rule.py +3 -2
  302. gcore/types/waap/domains/waap_api_path.py +4 -4
  303. gcore/types/waap/domains/waap_api_scan_result.py +2 -2
  304. gcore/types/waap/domains/waap_custom_rule.py +4 -7
  305. gcore/types/waap/domains/waap_firewall_rule.py +3 -2
  306. gcore/types/waap/domains/waap_insight.py +1 -1
  307. gcore/types/waap/domains/waap_request_details.py +5 -4
  308. gcore/types/waap/waap_ip_ddos_info_model.py +3 -3
  309. gcore/types/waap/waap_rule_set.py +1 -1
  310. {gcore-0.10.0.dist-info → gcore-0.12.0.dist-info}/METADATA +7 -2
  311. {gcore-0.10.0.dist-info → gcore-0.12.0.dist-info}/RECORD +313 -193
  312. gcore/types/cloud/inference/inference_model.py +0 -65
  313. gcore/types/cloud/inference/inference_registry_credentials_create.py +0 -22
  314. gcore/types/cloud/inference/model_list_params.py +0 -21
  315. gcore/types/streaming/ai_contentmoderation_casm.py +0 -39
  316. gcore/types/streaming/ai_contentmoderation_weapon.py +0 -39
  317. gcore/types/streaming/meet_series.py +0 -23
  318. gcore/types/streaming/statistic_get_meet_series_params.py +0 -20
  319. {gcore-0.10.0.dist-info → gcore-0.12.0.dist-info}/WHEEL +0 -0
  320. {gcore-0.10.0.dist-info → gcore-0.12.0.dist-info}/licenses/LICENSE +0 -0
@@ -2,12 +2,10 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing_extensions import Literal
6
-
7
5
  import httpx
8
6
 
9
7
  from ...._types import NOT_GIVEN, Body, Query, Headers, NotGiven
10
- from ...._utils import maybe_transform
8
+ from ...._utils import maybe_transform, async_maybe_transform
11
9
  from ...._compat import cached_property
12
10
  from ...._resource import SyncAPIResource, AsyncAPIResource
13
11
  from ...._response import (
@@ -16,59 +14,50 @@ from ...._response import (
16
14
  async_to_raw_response_wrapper,
17
15
  async_to_streamed_response_wrapper,
18
16
  )
19
- from ....pagination import SyncOffsetPage, AsyncOffsetPage
20
- from ...._base_client import AsyncPaginator, make_request_options
21
- from ....types.cloud.inference import model_list_params
22
- from ....types.cloud.inference.inference_model import InferenceModel
17
+ from ...._base_client import make_request_options
18
+ from ....types.dns.zones import dnssec_update_params
19
+ from ....types.dns.zones.dnssec_get_response import DnssecGetResponse
20
+ from ....types.dns.zones.dnssec_update_response import DnssecUpdateResponse
23
21
 
24
- __all__ = ["ModelsResource", "AsyncModelsResource"]
22
+ __all__ = ["DnssecResource", "AsyncDnssecResource"]
25
23
 
26
24
 
27
- class ModelsResource(SyncAPIResource):
25
+ class DnssecResource(SyncAPIResource):
28
26
  @cached_property
29
- def with_raw_response(self) -> ModelsResourceWithRawResponse:
27
+ def with_raw_response(self) -> DnssecResourceWithRawResponse:
30
28
  """
31
29
  This property can be used as a prefix for any HTTP method call to return
32
30
  the raw response object instead of the parsed content.
33
31
 
34
32
  For more information, see https://www.github.com/G-Core/gcore-python#accessing-raw-response-data-eg-headers
35
33
  """
36
- return ModelsResourceWithRawResponse(self)
34
+ return DnssecResourceWithRawResponse(self)
37
35
 
38
36
  @cached_property
39
- def with_streaming_response(self) -> ModelsResourceWithStreamingResponse:
37
+ def with_streaming_response(self) -> DnssecResourceWithStreamingResponse:
40
38
  """
41
39
  An alternative to `.with_raw_response` that doesn't eagerly read the response body.
42
40
 
43
41
  For more information, see https://www.github.com/G-Core/gcore-python#with_streaming_response
44
42
  """
45
- return ModelsResourceWithStreamingResponse(self)
43
+ return DnssecResourceWithStreamingResponse(self)
46
44
 
47
- def list(
45
+ def update(
48
46
  self,
47
+ name: str,
49
48
  *,
50
- limit: int | NotGiven = NOT_GIVEN,
51
- offset: int | NotGiven = NOT_GIVEN,
52
- order_by: Literal["name.asc", "name.desc"] | NotGiven = NOT_GIVEN,
49
+ enabled: bool | NotGiven = NOT_GIVEN,
53
50
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
54
51
  # The extra values given here take precedence over values defined on the client or passed to this method.
55
52
  extra_headers: Headers | None = None,
56
53
  extra_query: Query | None = None,
57
54
  extra_body: Body | None = None,
58
55
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
59
- ) -> SyncOffsetPage[InferenceModel]:
60
- """List models from catalog
56
+ ) -> DnssecUpdateResponse:
57
+ """
58
+ Enable or disable DNSSEC for a DNS zone.
61
59
 
62
60
  Args:
63
- limit: Optional.
64
-
65
- Limit the number of returned items
66
-
67
- offset: Optional. Offset value is used to exclude the first set of records from the
68
- result
69
-
70
- order_by: Order instances by transmitted fields and directions
71
-
72
61
  extra_headers: Send extra headers
73
62
 
74
63
  extra_query: Add additional query parameters to the request
@@ -77,29 +66,20 @@ class ModelsResource(SyncAPIResource):
77
66
 
78
67
  timeout: Override the client-level default timeout for this request, in seconds
79
68
  """
80
- return self._get_api_list(
81
- "/cloud/v3/inference/models",
82
- page=SyncOffsetPage[InferenceModel],
69
+ if not name:
70
+ raise ValueError(f"Expected a non-empty value for `name` but received {name!r}")
71
+ return self._patch(
72
+ f"/dns/v2/zones/{name}/dnssec",
73
+ body=maybe_transform({"enabled": enabled}, dnssec_update_params.DnssecUpdateParams),
83
74
  options=make_request_options(
84
- extra_headers=extra_headers,
85
- extra_query=extra_query,
86
- extra_body=extra_body,
87
- timeout=timeout,
88
- query=maybe_transform(
89
- {
90
- "limit": limit,
91
- "offset": offset,
92
- "order_by": order_by,
93
- },
94
- model_list_params.ModelListParams,
95
- ),
75
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
96
76
  ),
97
- model=InferenceModel,
77
+ cast_to=DnssecUpdateResponse,
98
78
  )
99
79
 
100
80
  def get(
101
81
  self,
102
- model_id: str,
82
+ name: str,
103
83
  *,
104
84
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
105
85
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -107,13 +87,11 @@ class ModelsResource(SyncAPIResource):
107
87
  extra_query: Query | None = None,
108
88
  extra_body: Body | None = None,
109
89
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
110
- ) -> InferenceModel:
90
+ ) -> DnssecGetResponse:
111
91
  """
112
- Get model from catalog
92
+ Get DNSSEC DS for a DNS zone.
113
93
 
114
94
  Args:
115
- model_id: Model ID
116
-
117
95
  extra_headers: Send extra headers
118
96
 
119
97
  extra_query: Add additional query parameters to the request
@@ -122,62 +100,53 @@ class ModelsResource(SyncAPIResource):
122
100
 
123
101
  timeout: Override the client-level default timeout for this request, in seconds
124
102
  """
125
- if not model_id:
126
- raise ValueError(f"Expected a non-empty value for `model_id` but received {model_id!r}")
103
+ if not name:
104
+ raise ValueError(f"Expected a non-empty value for `name` but received {name!r}")
127
105
  return self._get(
128
- f"/cloud/v3/inference/models/{model_id}",
106
+ f"/dns/v2/zones/{name}/dnssec",
129
107
  options=make_request_options(
130
108
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
131
109
  ),
132
- cast_to=InferenceModel,
110
+ cast_to=DnssecGetResponse,
133
111
  )
134
112
 
135
113
 
136
- class AsyncModelsResource(AsyncAPIResource):
114
+ class AsyncDnssecResource(AsyncAPIResource):
137
115
  @cached_property
138
- def with_raw_response(self) -> AsyncModelsResourceWithRawResponse:
116
+ def with_raw_response(self) -> AsyncDnssecResourceWithRawResponse:
139
117
  """
140
118
  This property can be used as a prefix for any HTTP method call to return
141
119
  the raw response object instead of the parsed content.
142
120
 
143
121
  For more information, see https://www.github.com/G-Core/gcore-python#accessing-raw-response-data-eg-headers
144
122
  """
145
- return AsyncModelsResourceWithRawResponse(self)
123
+ return AsyncDnssecResourceWithRawResponse(self)
146
124
 
147
125
  @cached_property
148
- def with_streaming_response(self) -> AsyncModelsResourceWithStreamingResponse:
126
+ def with_streaming_response(self) -> AsyncDnssecResourceWithStreamingResponse:
149
127
  """
150
128
  An alternative to `.with_raw_response` that doesn't eagerly read the response body.
151
129
 
152
130
  For more information, see https://www.github.com/G-Core/gcore-python#with_streaming_response
153
131
  """
154
- return AsyncModelsResourceWithStreamingResponse(self)
132
+ return AsyncDnssecResourceWithStreamingResponse(self)
155
133
 
156
- def list(
134
+ async def update(
157
135
  self,
136
+ name: str,
158
137
  *,
159
- limit: int | NotGiven = NOT_GIVEN,
160
- offset: int | NotGiven = NOT_GIVEN,
161
- order_by: Literal["name.asc", "name.desc"] | NotGiven = NOT_GIVEN,
138
+ enabled: bool | NotGiven = NOT_GIVEN,
162
139
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
163
140
  # The extra values given here take precedence over values defined on the client or passed to this method.
164
141
  extra_headers: Headers | None = None,
165
142
  extra_query: Query | None = None,
166
143
  extra_body: Body | None = None,
167
144
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
168
- ) -> AsyncPaginator[InferenceModel, AsyncOffsetPage[InferenceModel]]:
169
- """List models from catalog
145
+ ) -> DnssecUpdateResponse:
146
+ """
147
+ Enable or disable DNSSEC for a DNS zone.
170
148
 
171
149
  Args:
172
- limit: Optional.
173
-
174
- Limit the number of returned items
175
-
176
- offset: Optional. Offset value is used to exclude the first set of records from the
177
- result
178
-
179
- order_by: Order instances by transmitted fields and directions
180
-
181
150
  extra_headers: Send extra headers
182
151
 
183
152
  extra_query: Add additional query parameters to the request
@@ -186,29 +155,20 @@ class AsyncModelsResource(AsyncAPIResource):
186
155
 
187
156
  timeout: Override the client-level default timeout for this request, in seconds
188
157
  """
189
- return self._get_api_list(
190
- "/cloud/v3/inference/models",
191
- page=AsyncOffsetPage[InferenceModel],
158
+ if not name:
159
+ raise ValueError(f"Expected a non-empty value for `name` but received {name!r}")
160
+ return await self._patch(
161
+ f"/dns/v2/zones/{name}/dnssec",
162
+ body=await async_maybe_transform({"enabled": enabled}, dnssec_update_params.DnssecUpdateParams),
192
163
  options=make_request_options(
193
- extra_headers=extra_headers,
194
- extra_query=extra_query,
195
- extra_body=extra_body,
196
- timeout=timeout,
197
- query=maybe_transform(
198
- {
199
- "limit": limit,
200
- "offset": offset,
201
- "order_by": order_by,
202
- },
203
- model_list_params.ModelListParams,
204
- ),
164
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
205
165
  ),
206
- model=InferenceModel,
166
+ cast_to=DnssecUpdateResponse,
207
167
  )
208
168
 
209
169
  async def get(
210
170
  self,
211
- model_id: str,
171
+ name: str,
212
172
  *,
213
173
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
214
174
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -216,13 +176,11 @@ class AsyncModelsResource(AsyncAPIResource):
216
176
  extra_query: Query | None = None,
217
177
  extra_body: Body | None = None,
218
178
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
219
- ) -> InferenceModel:
179
+ ) -> DnssecGetResponse:
220
180
  """
221
- Get model from catalog
181
+ Get DNSSEC DS for a DNS zone.
222
182
 
223
183
  Args:
224
- model_id: Model ID
225
-
226
184
  extra_headers: Send extra headers
227
185
 
228
186
  extra_query: Add additional query parameters to the request
@@ -231,60 +189,60 @@ class AsyncModelsResource(AsyncAPIResource):
231
189
 
232
190
  timeout: Override the client-level default timeout for this request, in seconds
233
191
  """
234
- if not model_id:
235
- raise ValueError(f"Expected a non-empty value for `model_id` but received {model_id!r}")
192
+ if not name:
193
+ raise ValueError(f"Expected a non-empty value for `name` but received {name!r}")
236
194
  return await self._get(
237
- f"/cloud/v3/inference/models/{model_id}",
195
+ f"/dns/v2/zones/{name}/dnssec",
238
196
  options=make_request_options(
239
197
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
240
198
  ),
241
- cast_to=InferenceModel,
199
+ cast_to=DnssecGetResponse,
242
200
  )
243
201
 
244
202
 
245
- class ModelsResourceWithRawResponse:
246
- def __init__(self, models: ModelsResource) -> None:
247
- self._models = models
203
+ class DnssecResourceWithRawResponse:
204
+ def __init__(self, dnssec: DnssecResource) -> None:
205
+ self._dnssec = dnssec
248
206
 
249
- self.list = to_raw_response_wrapper(
250
- models.list,
207
+ self.update = to_raw_response_wrapper(
208
+ dnssec.update,
251
209
  )
252
210
  self.get = to_raw_response_wrapper(
253
- models.get,
211
+ dnssec.get,
254
212
  )
255
213
 
256
214
 
257
- class AsyncModelsResourceWithRawResponse:
258
- def __init__(self, models: AsyncModelsResource) -> None:
259
- self._models = models
215
+ class AsyncDnssecResourceWithRawResponse:
216
+ def __init__(self, dnssec: AsyncDnssecResource) -> None:
217
+ self._dnssec = dnssec
260
218
 
261
- self.list = async_to_raw_response_wrapper(
262
- models.list,
219
+ self.update = async_to_raw_response_wrapper(
220
+ dnssec.update,
263
221
  )
264
222
  self.get = async_to_raw_response_wrapper(
265
- models.get,
223
+ dnssec.get,
266
224
  )
267
225
 
268
226
 
269
- class ModelsResourceWithStreamingResponse:
270
- def __init__(self, models: ModelsResource) -> None:
271
- self._models = models
227
+ class DnssecResourceWithStreamingResponse:
228
+ def __init__(self, dnssec: DnssecResource) -> None:
229
+ self._dnssec = dnssec
272
230
 
273
- self.list = to_streamed_response_wrapper(
274
- models.list,
231
+ self.update = to_streamed_response_wrapper(
232
+ dnssec.update,
275
233
  )
276
234
  self.get = to_streamed_response_wrapper(
277
- models.get,
235
+ dnssec.get,
278
236
  )
279
237
 
280
238
 
281
- class AsyncModelsResourceWithStreamingResponse:
282
- def __init__(self, models: AsyncModelsResource) -> None:
283
- self._models = models
239
+ class AsyncDnssecResourceWithStreamingResponse:
240
+ def __init__(self, dnssec: AsyncDnssecResource) -> None:
241
+ self._dnssec = dnssec
284
242
 
285
- self.list = async_to_streamed_response_wrapper(
286
- models.list,
243
+ self.update = async_to_streamed_response_wrapper(
244
+ dnssec.update,
287
245
  )
288
246
  self.get = async_to_streamed_response_wrapper(
289
- models.get,
247
+ dnssec.get,
290
248
  )