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
@@ -0,0 +1,75 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from .dns import (
4
+ DNSResource,
5
+ AsyncDNSResource,
6
+ DNSResourceWithRawResponse,
7
+ AsyncDNSResourceWithRawResponse,
8
+ DNSResourceWithStreamingResponse,
9
+ AsyncDNSResourceWithStreamingResponse,
10
+ )
11
+ from .zones import (
12
+ ZonesResource,
13
+ AsyncZonesResource,
14
+ ZonesResourceWithRawResponse,
15
+ AsyncZonesResourceWithRawResponse,
16
+ ZonesResourceWithStreamingResponse,
17
+ AsyncZonesResourceWithStreamingResponse,
18
+ )
19
+ from .metrics import (
20
+ MetricsResource,
21
+ AsyncMetricsResource,
22
+ MetricsResourceWithRawResponse,
23
+ AsyncMetricsResourceWithRawResponse,
24
+ MetricsResourceWithStreamingResponse,
25
+ AsyncMetricsResourceWithStreamingResponse,
26
+ )
27
+ from .pickers import (
28
+ PickersResource,
29
+ AsyncPickersResource,
30
+ PickersResourceWithRawResponse,
31
+ AsyncPickersResourceWithRawResponse,
32
+ PickersResourceWithStreamingResponse,
33
+ AsyncPickersResourceWithStreamingResponse,
34
+ )
35
+ from .locations import (
36
+ LocationsResource,
37
+ AsyncLocationsResource,
38
+ LocationsResourceWithRawResponse,
39
+ AsyncLocationsResourceWithRawResponse,
40
+ LocationsResourceWithStreamingResponse,
41
+ AsyncLocationsResourceWithStreamingResponse,
42
+ )
43
+
44
+ __all__ = [
45
+ "LocationsResource",
46
+ "AsyncLocationsResource",
47
+ "LocationsResourceWithRawResponse",
48
+ "AsyncLocationsResourceWithRawResponse",
49
+ "LocationsResourceWithStreamingResponse",
50
+ "AsyncLocationsResourceWithStreamingResponse",
51
+ "MetricsResource",
52
+ "AsyncMetricsResource",
53
+ "MetricsResourceWithRawResponse",
54
+ "AsyncMetricsResourceWithRawResponse",
55
+ "MetricsResourceWithStreamingResponse",
56
+ "AsyncMetricsResourceWithStreamingResponse",
57
+ "PickersResource",
58
+ "AsyncPickersResource",
59
+ "PickersResourceWithRawResponse",
60
+ "AsyncPickersResourceWithRawResponse",
61
+ "PickersResourceWithStreamingResponse",
62
+ "AsyncPickersResourceWithStreamingResponse",
63
+ "ZonesResource",
64
+ "AsyncZonesResource",
65
+ "ZonesResourceWithRawResponse",
66
+ "AsyncZonesResourceWithRawResponse",
67
+ "ZonesResourceWithStreamingResponse",
68
+ "AsyncZonesResourceWithStreamingResponse",
69
+ "DNSResource",
70
+ "AsyncDNSResource",
71
+ "DNSResourceWithRawResponse",
72
+ "AsyncDNSResourceWithRawResponse",
73
+ "DNSResourceWithStreamingResponse",
74
+ "AsyncDNSResourceWithStreamingResponse",
75
+ ]
@@ -0,0 +1,374 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing_extensions import Literal
6
+
7
+ import httpx
8
+
9
+ from .metrics import (
10
+ MetricsResource,
11
+ AsyncMetricsResource,
12
+ MetricsResourceWithRawResponse,
13
+ AsyncMetricsResourceWithRawResponse,
14
+ MetricsResourceWithStreamingResponse,
15
+ AsyncMetricsResourceWithStreamingResponse,
16
+ )
17
+ from ..._types import NOT_GIVEN, Body, Query, Headers, NotGiven
18
+ from ..._utils import maybe_transform, async_maybe_transform
19
+ from ..._compat import cached_property
20
+ from .locations import (
21
+ LocationsResource,
22
+ AsyncLocationsResource,
23
+ LocationsResourceWithRawResponse,
24
+ AsyncLocationsResourceWithRawResponse,
25
+ LocationsResourceWithStreamingResponse,
26
+ AsyncLocationsResourceWithStreamingResponse,
27
+ )
28
+ from ..._resource import SyncAPIResource, AsyncAPIResource
29
+ from ..._response import (
30
+ to_raw_response_wrapper,
31
+ to_streamed_response_wrapper,
32
+ async_to_raw_response_wrapper,
33
+ async_to_streamed_response_wrapper,
34
+ )
35
+ from ...types.dns import dns_lookup_params
36
+ from .zones.zones import (
37
+ ZonesResource,
38
+ AsyncZonesResource,
39
+ ZonesResourceWithRawResponse,
40
+ AsyncZonesResourceWithRawResponse,
41
+ ZonesResourceWithStreamingResponse,
42
+ AsyncZonesResourceWithStreamingResponse,
43
+ )
44
+ from ..._base_client import make_request_options
45
+ from .pickers.pickers import (
46
+ PickersResource,
47
+ AsyncPickersResource,
48
+ PickersResourceWithRawResponse,
49
+ AsyncPickersResourceWithRawResponse,
50
+ PickersResourceWithStreamingResponse,
51
+ AsyncPickersResourceWithStreamingResponse,
52
+ )
53
+ from ...types.dns.dns_lookup_response import DNSLookupResponse
54
+ from ...types.dns.dns_get_account_overview_response import DNSGetAccountOverviewResponse
55
+
56
+ __all__ = ["DNSResource", "AsyncDNSResource"]
57
+
58
+
59
+ class DNSResource(SyncAPIResource):
60
+ @cached_property
61
+ def locations(self) -> LocationsResource:
62
+ return LocationsResource(self._client)
63
+
64
+ @cached_property
65
+ def metrics(self) -> MetricsResource:
66
+ return MetricsResource(self._client)
67
+
68
+ @cached_property
69
+ def pickers(self) -> PickersResource:
70
+ return PickersResource(self._client)
71
+
72
+ @cached_property
73
+ def zones(self) -> ZonesResource:
74
+ return ZonesResource(self._client)
75
+
76
+ @cached_property
77
+ def with_raw_response(self) -> DNSResourceWithRawResponse:
78
+ """
79
+ This property can be used as a prefix for any HTTP method call to return
80
+ the raw response object instead of the parsed content.
81
+
82
+ For more information, see https://www.github.com/G-Core/gcore-python#accessing-raw-response-data-eg-headers
83
+ """
84
+ return DNSResourceWithRawResponse(self)
85
+
86
+ @cached_property
87
+ def with_streaming_response(self) -> DNSResourceWithStreamingResponse:
88
+ """
89
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
90
+
91
+ For more information, see https://www.github.com/G-Core/gcore-python#with_streaming_response
92
+ """
93
+ return DNSResourceWithStreamingResponse(self)
94
+
95
+ def get_account_overview(
96
+ self,
97
+ *,
98
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
99
+ # The extra values given here take precedence over values defined on the client or passed to this method.
100
+ extra_headers: Headers | None = None,
101
+ extra_query: Query | None = None,
102
+ extra_body: Body | None = None,
103
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
104
+ ) -> DNSGetAccountOverviewResponse:
105
+ """Get info about client"""
106
+ return self._get(
107
+ "/dns/v2/platform/info",
108
+ options=make_request_options(
109
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
110
+ ),
111
+ cast_to=DNSGetAccountOverviewResponse,
112
+ )
113
+
114
+ def lookup(
115
+ self,
116
+ *,
117
+ name: str | NotGiven = NOT_GIVEN,
118
+ request_server: Literal["authoritative_dns", "google", "cloudflare", "open_dns", "quad9", "gcore"]
119
+ | NotGiven = NOT_GIVEN,
120
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
121
+ # The extra values given here take precedence over values defined on the client or passed to this method.
122
+ extra_headers: Headers | None = None,
123
+ extra_query: Query | None = None,
124
+ extra_body: Body | None = None,
125
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
126
+ ) -> DNSLookupResponse:
127
+ """
128
+ Get the dns records from a specific domain or ip.
129
+
130
+ Args:
131
+ name: Domain name
132
+
133
+ request_server: Server that will be used as resolver
134
+
135
+ extra_headers: Send extra headers
136
+
137
+ extra_query: Add additional query parameters to the request
138
+
139
+ extra_body: Add additional JSON properties to the request
140
+
141
+ timeout: Override the client-level default timeout for this request, in seconds
142
+ """
143
+ return self._get(
144
+ "/dns/v2/lookup",
145
+ options=make_request_options(
146
+ extra_headers=extra_headers,
147
+ extra_query=extra_query,
148
+ extra_body=extra_body,
149
+ timeout=timeout,
150
+ query=maybe_transform(
151
+ {
152
+ "name": name,
153
+ "request_server": request_server,
154
+ },
155
+ dns_lookup_params.DNSLookupParams,
156
+ ),
157
+ ),
158
+ cast_to=DNSLookupResponse,
159
+ )
160
+
161
+
162
+ class AsyncDNSResource(AsyncAPIResource):
163
+ @cached_property
164
+ def locations(self) -> AsyncLocationsResource:
165
+ return AsyncLocationsResource(self._client)
166
+
167
+ @cached_property
168
+ def metrics(self) -> AsyncMetricsResource:
169
+ return AsyncMetricsResource(self._client)
170
+
171
+ @cached_property
172
+ def pickers(self) -> AsyncPickersResource:
173
+ return AsyncPickersResource(self._client)
174
+
175
+ @cached_property
176
+ def zones(self) -> AsyncZonesResource:
177
+ return AsyncZonesResource(self._client)
178
+
179
+ @cached_property
180
+ def with_raw_response(self) -> AsyncDNSResourceWithRawResponse:
181
+ """
182
+ This property can be used as a prefix for any HTTP method call to return
183
+ the raw response object instead of the parsed content.
184
+
185
+ For more information, see https://www.github.com/G-Core/gcore-python#accessing-raw-response-data-eg-headers
186
+ """
187
+ return AsyncDNSResourceWithRawResponse(self)
188
+
189
+ @cached_property
190
+ def with_streaming_response(self) -> AsyncDNSResourceWithStreamingResponse:
191
+ """
192
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
193
+
194
+ For more information, see https://www.github.com/G-Core/gcore-python#with_streaming_response
195
+ """
196
+ return AsyncDNSResourceWithStreamingResponse(self)
197
+
198
+ async def get_account_overview(
199
+ self,
200
+ *,
201
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
202
+ # The extra values given here take precedence over values defined on the client or passed to this method.
203
+ extra_headers: Headers | None = None,
204
+ extra_query: Query | None = None,
205
+ extra_body: Body | None = None,
206
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
207
+ ) -> DNSGetAccountOverviewResponse:
208
+ """Get info about client"""
209
+ return await self._get(
210
+ "/dns/v2/platform/info",
211
+ options=make_request_options(
212
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
213
+ ),
214
+ cast_to=DNSGetAccountOverviewResponse,
215
+ )
216
+
217
+ async def lookup(
218
+ self,
219
+ *,
220
+ name: str | NotGiven = NOT_GIVEN,
221
+ request_server: Literal["authoritative_dns", "google", "cloudflare", "open_dns", "quad9", "gcore"]
222
+ | NotGiven = NOT_GIVEN,
223
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
224
+ # The extra values given here take precedence over values defined on the client or passed to this method.
225
+ extra_headers: Headers | None = None,
226
+ extra_query: Query | None = None,
227
+ extra_body: Body | None = None,
228
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
229
+ ) -> DNSLookupResponse:
230
+ """
231
+ Get the dns records from a specific domain or ip.
232
+
233
+ Args:
234
+ name: Domain name
235
+
236
+ request_server: Server that will be used as resolver
237
+
238
+ extra_headers: Send extra headers
239
+
240
+ extra_query: Add additional query parameters to the request
241
+
242
+ extra_body: Add additional JSON properties to the request
243
+
244
+ timeout: Override the client-level default timeout for this request, in seconds
245
+ """
246
+ return await self._get(
247
+ "/dns/v2/lookup",
248
+ options=make_request_options(
249
+ extra_headers=extra_headers,
250
+ extra_query=extra_query,
251
+ extra_body=extra_body,
252
+ timeout=timeout,
253
+ query=await async_maybe_transform(
254
+ {
255
+ "name": name,
256
+ "request_server": request_server,
257
+ },
258
+ dns_lookup_params.DNSLookupParams,
259
+ ),
260
+ ),
261
+ cast_to=DNSLookupResponse,
262
+ )
263
+
264
+
265
+ class DNSResourceWithRawResponse:
266
+ def __init__(self, dns: DNSResource) -> None:
267
+ self._dns = dns
268
+
269
+ self.get_account_overview = to_raw_response_wrapper(
270
+ dns.get_account_overview,
271
+ )
272
+ self.lookup = to_raw_response_wrapper(
273
+ dns.lookup,
274
+ )
275
+
276
+ @cached_property
277
+ def locations(self) -> LocationsResourceWithRawResponse:
278
+ return LocationsResourceWithRawResponse(self._dns.locations)
279
+
280
+ @cached_property
281
+ def metrics(self) -> MetricsResourceWithRawResponse:
282
+ return MetricsResourceWithRawResponse(self._dns.metrics)
283
+
284
+ @cached_property
285
+ def pickers(self) -> PickersResourceWithRawResponse:
286
+ return PickersResourceWithRawResponse(self._dns.pickers)
287
+
288
+ @cached_property
289
+ def zones(self) -> ZonesResourceWithRawResponse:
290
+ return ZonesResourceWithRawResponse(self._dns.zones)
291
+
292
+
293
+ class AsyncDNSResourceWithRawResponse:
294
+ def __init__(self, dns: AsyncDNSResource) -> None:
295
+ self._dns = dns
296
+
297
+ self.get_account_overview = async_to_raw_response_wrapper(
298
+ dns.get_account_overview,
299
+ )
300
+ self.lookup = async_to_raw_response_wrapper(
301
+ dns.lookup,
302
+ )
303
+
304
+ @cached_property
305
+ def locations(self) -> AsyncLocationsResourceWithRawResponse:
306
+ return AsyncLocationsResourceWithRawResponse(self._dns.locations)
307
+
308
+ @cached_property
309
+ def metrics(self) -> AsyncMetricsResourceWithRawResponse:
310
+ return AsyncMetricsResourceWithRawResponse(self._dns.metrics)
311
+
312
+ @cached_property
313
+ def pickers(self) -> AsyncPickersResourceWithRawResponse:
314
+ return AsyncPickersResourceWithRawResponse(self._dns.pickers)
315
+
316
+ @cached_property
317
+ def zones(self) -> AsyncZonesResourceWithRawResponse:
318
+ return AsyncZonesResourceWithRawResponse(self._dns.zones)
319
+
320
+
321
+ class DNSResourceWithStreamingResponse:
322
+ def __init__(self, dns: DNSResource) -> None:
323
+ self._dns = dns
324
+
325
+ self.get_account_overview = to_streamed_response_wrapper(
326
+ dns.get_account_overview,
327
+ )
328
+ self.lookup = to_streamed_response_wrapper(
329
+ dns.lookup,
330
+ )
331
+
332
+ @cached_property
333
+ def locations(self) -> LocationsResourceWithStreamingResponse:
334
+ return LocationsResourceWithStreamingResponse(self._dns.locations)
335
+
336
+ @cached_property
337
+ def metrics(self) -> MetricsResourceWithStreamingResponse:
338
+ return MetricsResourceWithStreamingResponse(self._dns.metrics)
339
+
340
+ @cached_property
341
+ def pickers(self) -> PickersResourceWithStreamingResponse:
342
+ return PickersResourceWithStreamingResponse(self._dns.pickers)
343
+
344
+ @cached_property
345
+ def zones(self) -> ZonesResourceWithStreamingResponse:
346
+ return ZonesResourceWithStreamingResponse(self._dns.zones)
347
+
348
+
349
+ class AsyncDNSResourceWithStreamingResponse:
350
+ def __init__(self, dns: AsyncDNSResource) -> None:
351
+ self._dns = dns
352
+
353
+ self.get_account_overview = async_to_streamed_response_wrapper(
354
+ dns.get_account_overview,
355
+ )
356
+ self.lookup = async_to_streamed_response_wrapper(
357
+ dns.lookup,
358
+ )
359
+
360
+ @cached_property
361
+ def locations(self) -> AsyncLocationsResourceWithStreamingResponse:
362
+ return AsyncLocationsResourceWithStreamingResponse(self._dns.locations)
363
+
364
+ @cached_property
365
+ def metrics(self) -> AsyncMetricsResourceWithStreamingResponse:
366
+ return AsyncMetricsResourceWithStreamingResponse(self._dns.metrics)
367
+
368
+ @cached_property
369
+ def pickers(self) -> AsyncPickersResourceWithStreamingResponse:
370
+ return AsyncPickersResourceWithStreamingResponse(self._dns.pickers)
371
+
372
+ @cached_property
373
+ def zones(self) -> AsyncZonesResourceWithStreamingResponse:
374
+ return AsyncZonesResourceWithStreamingResponse(self._dns.zones)