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,190 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ import httpx
6
+
7
+ from ..._types import NOT_GIVEN, Body, Query, Headers, NotGiven
8
+ from ..._utils import maybe_transform
9
+ from ..._compat import cached_property
10
+ from ..._resource import SyncAPIResource, AsyncAPIResource
11
+ from ..._response import (
12
+ to_raw_response_wrapper,
13
+ to_streamed_response_wrapper,
14
+ async_to_raw_response_wrapper,
15
+ async_to_streamed_response_wrapper,
16
+ )
17
+ from ...pagination import SyncOffsetPage, AsyncOffsetPage
18
+ from ..._base_client import AsyncPaginator, make_request_options
19
+ from ...types.storage import location_list_params
20
+ from ...types.storage.location import Location
21
+
22
+ __all__ = ["LocationsResource", "AsyncLocationsResource"]
23
+
24
+
25
+ class LocationsResource(SyncAPIResource):
26
+ @cached_property
27
+ def with_raw_response(self) -> LocationsResourceWithRawResponse:
28
+ """
29
+ This property can be used as a prefix for any HTTP method call to return
30
+ the raw response object instead of the parsed content.
31
+
32
+ For more information, see https://www.github.com/G-Core/gcore-python#accessing-raw-response-data-eg-headers
33
+ """
34
+ return LocationsResourceWithRawResponse(self)
35
+
36
+ @cached_property
37
+ def with_streaming_response(self) -> LocationsResourceWithStreamingResponse:
38
+ """
39
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
40
+
41
+ For more information, see https://www.github.com/G-Core/gcore-python#with_streaming_response
42
+ """
43
+ return LocationsResourceWithStreamingResponse(self)
44
+
45
+ def list(
46
+ self,
47
+ *,
48
+ limit: int | NotGiven = NOT_GIVEN,
49
+ offset: int | NotGiven = NOT_GIVEN,
50
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
51
+ # The extra values given here take precedence over values defined on the client or passed to this method.
52
+ extra_headers: Headers | None = None,
53
+ extra_query: Query | None = None,
54
+ extra_body: Body | None = None,
55
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
56
+ ) -> SyncOffsetPage[Location]:
57
+ """Returns available storage locations where you can create storages.
58
+
59
+ Each location
60
+ represents a geographic region with specific data center facilities.
61
+
62
+ Args:
63
+ extra_headers: Send extra headers
64
+
65
+ extra_query: Add additional query parameters to the request
66
+
67
+ extra_body: Add additional JSON properties to the request
68
+
69
+ timeout: Override the client-level default timeout for this request, in seconds
70
+ """
71
+ return self._get_api_list(
72
+ "/storage/provisioning/v2/locations",
73
+ page=SyncOffsetPage[Location],
74
+ options=make_request_options(
75
+ extra_headers=extra_headers,
76
+ extra_query=extra_query,
77
+ extra_body=extra_body,
78
+ timeout=timeout,
79
+ query=maybe_transform(
80
+ {
81
+ "limit": limit,
82
+ "offset": offset,
83
+ },
84
+ location_list_params.LocationListParams,
85
+ ),
86
+ ),
87
+ model=Location,
88
+ )
89
+
90
+
91
+ class AsyncLocationsResource(AsyncAPIResource):
92
+ @cached_property
93
+ def with_raw_response(self) -> AsyncLocationsResourceWithRawResponse:
94
+ """
95
+ This property can be used as a prefix for any HTTP method call to return
96
+ the raw response object instead of the parsed content.
97
+
98
+ For more information, see https://www.github.com/G-Core/gcore-python#accessing-raw-response-data-eg-headers
99
+ """
100
+ return AsyncLocationsResourceWithRawResponse(self)
101
+
102
+ @cached_property
103
+ def with_streaming_response(self) -> AsyncLocationsResourceWithStreamingResponse:
104
+ """
105
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
106
+
107
+ For more information, see https://www.github.com/G-Core/gcore-python#with_streaming_response
108
+ """
109
+ return AsyncLocationsResourceWithStreamingResponse(self)
110
+
111
+ def list(
112
+ self,
113
+ *,
114
+ limit: int | NotGiven = NOT_GIVEN,
115
+ offset: int | NotGiven = NOT_GIVEN,
116
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
117
+ # The extra values given here take precedence over values defined on the client or passed to this method.
118
+ extra_headers: Headers | None = None,
119
+ extra_query: Query | None = None,
120
+ extra_body: Body | None = None,
121
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
122
+ ) -> AsyncPaginator[Location, AsyncOffsetPage[Location]]:
123
+ """Returns available storage locations where you can create storages.
124
+
125
+ Each location
126
+ represents a geographic region with specific data center facilities.
127
+
128
+ Args:
129
+ extra_headers: Send extra headers
130
+
131
+ extra_query: Add additional query parameters to the request
132
+
133
+ extra_body: Add additional JSON properties to the request
134
+
135
+ timeout: Override the client-level default timeout for this request, in seconds
136
+ """
137
+ return self._get_api_list(
138
+ "/storage/provisioning/v2/locations",
139
+ page=AsyncOffsetPage[Location],
140
+ options=make_request_options(
141
+ extra_headers=extra_headers,
142
+ extra_query=extra_query,
143
+ extra_body=extra_body,
144
+ timeout=timeout,
145
+ query=maybe_transform(
146
+ {
147
+ "limit": limit,
148
+ "offset": offset,
149
+ },
150
+ location_list_params.LocationListParams,
151
+ ),
152
+ ),
153
+ model=Location,
154
+ )
155
+
156
+
157
+ class LocationsResourceWithRawResponse:
158
+ def __init__(self, locations: LocationsResource) -> None:
159
+ self._locations = locations
160
+
161
+ self.list = to_raw_response_wrapper(
162
+ locations.list,
163
+ )
164
+
165
+
166
+ class AsyncLocationsResourceWithRawResponse:
167
+ def __init__(self, locations: AsyncLocationsResource) -> None:
168
+ self._locations = locations
169
+
170
+ self.list = async_to_raw_response_wrapper(
171
+ locations.list,
172
+ )
173
+
174
+
175
+ class LocationsResourceWithStreamingResponse:
176
+ def __init__(self, locations: LocationsResource) -> None:
177
+ self._locations = locations
178
+
179
+ self.list = to_streamed_response_wrapper(
180
+ locations.list,
181
+ )
182
+
183
+
184
+ class AsyncLocationsResourceWithStreamingResponse:
185
+ def __init__(self, locations: AsyncLocationsResource) -> None:
186
+ self._locations = locations
187
+
188
+ self.list = async_to_streamed_response_wrapper(
189
+ locations.list,
190
+ )
@@ -0,0 +1,364 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ import httpx
6
+
7
+ from ..._types import NOT_GIVEN, Body, Query, Headers, NotGiven, SequenceNotStr
8
+ from ..._utils import maybe_transform, async_maybe_transform
9
+ from ..._compat import cached_property
10
+ from ..._resource import SyncAPIResource, AsyncAPIResource
11
+ from ..._response import (
12
+ to_raw_response_wrapper,
13
+ to_streamed_response_wrapper,
14
+ async_to_raw_response_wrapper,
15
+ async_to_streamed_response_wrapper,
16
+ )
17
+ from ..._base_client import make_request_options
18
+ from ...types.storage import statistic_get_usage_series_params, statistic_get_usage_aggregated_params
19
+ from ...types.storage.usage_total import UsageTotal
20
+ from ...types.storage.statistic_get_usage_series_response import StatisticGetUsageSeriesResponse
21
+
22
+ __all__ = ["StatisticsResource", "AsyncStatisticsResource"]
23
+
24
+
25
+ class StatisticsResource(SyncAPIResource):
26
+ @cached_property
27
+ def with_raw_response(self) -> StatisticsResourceWithRawResponse:
28
+ """
29
+ This property can be used as a prefix for any HTTP method call to return
30
+ the raw response object instead of the parsed content.
31
+
32
+ For more information, see https://www.github.com/G-Core/gcore-python#accessing-raw-response-data-eg-headers
33
+ """
34
+ return StatisticsResourceWithRawResponse(self)
35
+
36
+ @cached_property
37
+ def with_streaming_response(self) -> StatisticsResourceWithStreamingResponse:
38
+ """
39
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
40
+
41
+ For more information, see https://www.github.com/G-Core/gcore-python#with_streaming_response
42
+ """
43
+ return StatisticsResourceWithStreamingResponse(self)
44
+
45
+ def get_usage_aggregated(
46
+ self,
47
+ *,
48
+ from_: str | NotGiven = NOT_GIVEN,
49
+ locations: SequenceNotStr[str] | NotGiven = NOT_GIVEN,
50
+ storages: SequenceNotStr[str] | NotGiven = NOT_GIVEN,
51
+ to: str | NotGiven = NOT_GIVEN,
52
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
53
+ # The extra values given here take precedence over values defined on the client or passed to this method.
54
+ extra_headers: Headers | None = None,
55
+ extra_query: Query | None = None,
56
+ extra_body: Body | None = None,
57
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
58
+ ) -> UsageTotal:
59
+ """
60
+ Consumption statistics is updated in near real-time as a standard practice.
61
+ However, the frequency of updates can vary, but they are typically available
62
+ within a 60 minutes period. Exceptions, such as maintenance periods, may delay
63
+ data beyond 60 minutes until servers resume and backfill missing statistics.
64
+
65
+ Shows storage total usage data in filtered by storages, locations and interval.
66
+
67
+ Args:
68
+ from_: a From date filter
69
+
70
+ locations: a Locations list of filter
71
+
72
+ storages: a Storages list of filter
73
+
74
+ to: a To date filter
75
+
76
+ extra_headers: Send extra headers
77
+
78
+ extra_query: Add additional query parameters to the request
79
+
80
+ extra_body: Add additional JSON properties to the request
81
+
82
+ timeout: Override the client-level default timeout for this request, in seconds
83
+ """
84
+ return self._post(
85
+ "/storage/stats/v1/storage/usage/total",
86
+ body=maybe_transform(
87
+ {
88
+ "from_": from_,
89
+ "locations": locations,
90
+ "storages": storages,
91
+ "to": to,
92
+ },
93
+ statistic_get_usage_aggregated_params.StatisticGetUsageAggregatedParams,
94
+ ),
95
+ options=make_request_options(
96
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
97
+ ),
98
+ cast_to=UsageTotal,
99
+ )
100
+
101
+ def get_usage_series(
102
+ self,
103
+ *,
104
+ from_: str | NotGiven = NOT_GIVEN,
105
+ granularity: str | NotGiven = NOT_GIVEN,
106
+ locations: SequenceNotStr[str] | NotGiven = NOT_GIVEN,
107
+ source: int | NotGiven = NOT_GIVEN,
108
+ storages: SequenceNotStr[str] | NotGiven = NOT_GIVEN,
109
+ to: str | NotGiven = NOT_GIVEN,
110
+ ts_string: bool | NotGiven = NOT_GIVEN,
111
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
112
+ # The extra values given here take precedence over values defined on the client or passed to this method.
113
+ extra_headers: Headers | None = None,
114
+ extra_query: Query | None = None,
115
+ extra_body: Body | None = None,
116
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
117
+ ) -> StatisticGetUsageSeriesResponse:
118
+ """
119
+ Consumption statistics is updated in near real-time as a standard practice.
120
+ However, the frequency of updates can vary, but they are typically available
121
+ within a 60 minutes period. Exceptions, such as maintenance periods, may delay
122
+ data beyond 60 minutes until servers resume and backfill missing statistics.
123
+
124
+ Shows storage usage data in series format filtered by clients, storages and
125
+ interval.
126
+
127
+ Args:
128
+ from_: a From date filter
129
+
130
+ granularity: a Granularity is period of time for grouping data Valid values are: 1h, 12h, 24h
131
+
132
+ locations: a Locations list of filter
133
+
134
+ source: a Source is deprecated parameter
135
+
136
+ storages: a Storages list of filter
137
+
138
+ to: a To date filter
139
+
140
+ ts_string: a TsString is configurator of response time format switch response from unix
141
+ time format to RFC3339 (2006-01-02T15:04:05Z07:00)
142
+
143
+ extra_headers: Send extra headers
144
+
145
+ extra_query: Add additional query parameters to the request
146
+
147
+ extra_body: Add additional JSON properties to the request
148
+
149
+ timeout: Override the client-level default timeout for this request, in seconds
150
+ """
151
+ return self._post(
152
+ "/storage/stats/v1/storage/usage/series",
153
+ body=maybe_transform(
154
+ {
155
+ "from_": from_,
156
+ "granularity": granularity,
157
+ "locations": locations,
158
+ "source": source,
159
+ "storages": storages,
160
+ "to": to,
161
+ "ts_string": ts_string,
162
+ },
163
+ statistic_get_usage_series_params.StatisticGetUsageSeriesParams,
164
+ ),
165
+ options=make_request_options(
166
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
167
+ ),
168
+ cast_to=StatisticGetUsageSeriesResponse,
169
+ )
170
+
171
+
172
+ class AsyncStatisticsResource(AsyncAPIResource):
173
+ @cached_property
174
+ def with_raw_response(self) -> AsyncStatisticsResourceWithRawResponse:
175
+ """
176
+ This property can be used as a prefix for any HTTP method call to return
177
+ the raw response object instead of the parsed content.
178
+
179
+ For more information, see https://www.github.com/G-Core/gcore-python#accessing-raw-response-data-eg-headers
180
+ """
181
+ return AsyncStatisticsResourceWithRawResponse(self)
182
+
183
+ @cached_property
184
+ def with_streaming_response(self) -> AsyncStatisticsResourceWithStreamingResponse:
185
+ """
186
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
187
+
188
+ For more information, see https://www.github.com/G-Core/gcore-python#with_streaming_response
189
+ """
190
+ return AsyncStatisticsResourceWithStreamingResponse(self)
191
+
192
+ async def get_usage_aggregated(
193
+ self,
194
+ *,
195
+ from_: str | NotGiven = NOT_GIVEN,
196
+ locations: SequenceNotStr[str] | NotGiven = NOT_GIVEN,
197
+ storages: SequenceNotStr[str] | NotGiven = NOT_GIVEN,
198
+ to: str | NotGiven = NOT_GIVEN,
199
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
200
+ # The extra values given here take precedence over values defined on the client or passed to this method.
201
+ extra_headers: Headers | None = None,
202
+ extra_query: Query | None = None,
203
+ extra_body: Body | None = None,
204
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
205
+ ) -> UsageTotal:
206
+ """
207
+ Consumption statistics is updated in near real-time as a standard practice.
208
+ However, the frequency of updates can vary, but they are typically available
209
+ within a 60 minutes period. Exceptions, such as maintenance periods, may delay
210
+ data beyond 60 minutes until servers resume and backfill missing statistics.
211
+
212
+ Shows storage total usage data in filtered by storages, locations and interval.
213
+
214
+ Args:
215
+ from_: a From date filter
216
+
217
+ locations: a Locations list of filter
218
+
219
+ storages: a Storages list of filter
220
+
221
+ to: a To date filter
222
+
223
+ extra_headers: Send extra headers
224
+
225
+ extra_query: Add additional query parameters to the request
226
+
227
+ extra_body: Add additional JSON properties to the request
228
+
229
+ timeout: Override the client-level default timeout for this request, in seconds
230
+ """
231
+ return await self._post(
232
+ "/storage/stats/v1/storage/usage/total",
233
+ body=await async_maybe_transform(
234
+ {
235
+ "from_": from_,
236
+ "locations": locations,
237
+ "storages": storages,
238
+ "to": to,
239
+ },
240
+ statistic_get_usage_aggregated_params.StatisticGetUsageAggregatedParams,
241
+ ),
242
+ options=make_request_options(
243
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
244
+ ),
245
+ cast_to=UsageTotal,
246
+ )
247
+
248
+ async def get_usage_series(
249
+ self,
250
+ *,
251
+ from_: str | NotGiven = NOT_GIVEN,
252
+ granularity: str | NotGiven = NOT_GIVEN,
253
+ locations: SequenceNotStr[str] | NotGiven = NOT_GIVEN,
254
+ source: int | NotGiven = NOT_GIVEN,
255
+ storages: SequenceNotStr[str] | NotGiven = NOT_GIVEN,
256
+ to: str | NotGiven = NOT_GIVEN,
257
+ ts_string: bool | NotGiven = NOT_GIVEN,
258
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
259
+ # The extra values given here take precedence over values defined on the client or passed to this method.
260
+ extra_headers: Headers | None = None,
261
+ extra_query: Query | None = None,
262
+ extra_body: Body | None = None,
263
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
264
+ ) -> StatisticGetUsageSeriesResponse:
265
+ """
266
+ Consumption statistics is updated in near real-time as a standard practice.
267
+ However, the frequency of updates can vary, but they are typically available
268
+ within a 60 minutes period. Exceptions, such as maintenance periods, may delay
269
+ data beyond 60 minutes until servers resume and backfill missing statistics.
270
+
271
+ Shows storage usage data in series format filtered by clients, storages and
272
+ interval.
273
+
274
+ Args:
275
+ from_: a From date filter
276
+
277
+ granularity: a Granularity is period of time for grouping data Valid values are: 1h, 12h, 24h
278
+
279
+ locations: a Locations list of filter
280
+
281
+ source: a Source is deprecated parameter
282
+
283
+ storages: a Storages list of filter
284
+
285
+ to: a To date filter
286
+
287
+ ts_string: a TsString is configurator of response time format switch response from unix
288
+ time format to RFC3339 (2006-01-02T15:04:05Z07:00)
289
+
290
+ extra_headers: Send extra headers
291
+
292
+ extra_query: Add additional query parameters to the request
293
+
294
+ extra_body: Add additional JSON properties to the request
295
+
296
+ timeout: Override the client-level default timeout for this request, in seconds
297
+ """
298
+ return await self._post(
299
+ "/storage/stats/v1/storage/usage/series",
300
+ body=await async_maybe_transform(
301
+ {
302
+ "from_": from_,
303
+ "granularity": granularity,
304
+ "locations": locations,
305
+ "source": source,
306
+ "storages": storages,
307
+ "to": to,
308
+ "ts_string": ts_string,
309
+ },
310
+ statistic_get_usage_series_params.StatisticGetUsageSeriesParams,
311
+ ),
312
+ options=make_request_options(
313
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
314
+ ),
315
+ cast_to=StatisticGetUsageSeriesResponse,
316
+ )
317
+
318
+
319
+ class StatisticsResourceWithRawResponse:
320
+ def __init__(self, statistics: StatisticsResource) -> None:
321
+ self._statistics = statistics
322
+
323
+ self.get_usage_aggregated = to_raw_response_wrapper(
324
+ statistics.get_usage_aggregated,
325
+ )
326
+ self.get_usage_series = to_raw_response_wrapper(
327
+ statistics.get_usage_series,
328
+ )
329
+
330
+
331
+ class AsyncStatisticsResourceWithRawResponse:
332
+ def __init__(self, statistics: AsyncStatisticsResource) -> None:
333
+ self._statistics = statistics
334
+
335
+ self.get_usage_aggregated = async_to_raw_response_wrapper(
336
+ statistics.get_usage_aggregated,
337
+ )
338
+ self.get_usage_series = async_to_raw_response_wrapper(
339
+ statistics.get_usage_series,
340
+ )
341
+
342
+
343
+ class StatisticsResourceWithStreamingResponse:
344
+ def __init__(self, statistics: StatisticsResource) -> None:
345
+ self._statistics = statistics
346
+
347
+ self.get_usage_aggregated = to_streamed_response_wrapper(
348
+ statistics.get_usage_aggregated,
349
+ )
350
+ self.get_usage_series = to_streamed_response_wrapper(
351
+ statistics.get_usage_series,
352
+ )
353
+
354
+
355
+ class AsyncStatisticsResourceWithStreamingResponse:
356
+ def __init__(self, statistics: AsyncStatisticsResource) -> None:
357
+ self._statistics = statistics
358
+
359
+ self.get_usage_aggregated = async_to_streamed_response_wrapper(
360
+ statistics.get_usage_aggregated,
361
+ )
362
+ self.get_usage_series = async_to_streamed_response_wrapper(
363
+ statistics.get_usage_series,
364
+ )