gcore 0.9.0__py3-none-any.whl → 0.11.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 (420) 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 +26 -10
  51. gcore/resources/cloud/load_balancers/pools/members.py +34 -4
  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/vip.py +5 -7
  56. gcore/resources/cloud/security_groups/security_groups.py +6 -6
  57. gcore/resources/cloud/tasks.py +46 -46
  58. gcore/resources/cloud/users/role_assignments.py +5 -4
  59. gcore/resources/cloud/volumes.py +4 -4
  60. gcore/resources/dns/__init__.py +75 -0
  61. gcore/resources/dns/dns.py +374 -0
  62. gcore/resources/dns/locations.py +288 -0
  63. gcore/resources/dns/metrics.py +214 -0
  64. gcore/resources/dns/pickers/__init__.py +33 -0
  65. gcore/resources/dns/pickers/pickers.py +167 -0
  66. gcore/resources/dns/pickers/presets.py +135 -0
  67. gcore/resources/dns/zones/__init__.py +47 -0
  68. gcore/resources/{cloud/inference/models.py → dns/zones/dnssec.py} +80 -122
  69. gcore/resources/dns/zones/rrsets.py +1005 -0
  70. gcore/resources/dns/zones/zones.py +1493 -0
  71. gcore/resources/security/bgp_announces.py +15 -15
  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 +1042 -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/__init__.py +14 -0
  91. gcore/resources/waap/custom_page_sets.py +40 -34
  92. gcore/resources/waap/domains/__init__.py +14 -28
  93. gcore/resources/waap/domains/advanced_rules.py +7 -10
  94. gcore/resources/waap/domains/{api_discovery/api_discovery.py → api_discovery.py} +292 -59
  95. gcore/resources/waap/domains/api_path_groups.py +5 -5
  96. gcore/resources/waap/domains/api_paths.py +28 -30
  97. gcore/resources/waap/domains/custom_rules.py +7 -10
  98. gcore/resources/waap/domains/domains.py +124 -68
  99. gcore/resources/waap/domains/firewall_rules.py +5 -7
  100. gcore/resources/waap/domains/insight_silences.py +34 -11
  101. gcore/resources/waap/domains/insights.py +43 -17
  102. gcore/resources/waap/domains/statistics.py +977 -0
  103. gcore/resources/waap/insights.py +233 -0
  104. gcore/resources/waap/ip_info/__init__.py +33 -0
  105. gcore/resources/waap/{ip_info.py → ip_info/ip_info.py} +149 -235
  106. gcore/resources/waap/ip_info/metrics.py +203 -0
  107. gcore/resources/waap/waap.py +40 -8
  108. gcore/types/cloud/__init__.py +2 -4
  109. gcore/types/cloud/audit_log_list_params.py +2 -1
  110. gcore/types/cloud/baremetal/image_list_params.py +3 -2
  111. gcore/types/cloud/baremetal/server_create_params.py +8 -6
  112. gcore/types/cloud/baremetal/server_list_params.py +3 -2
  113. gcore/types/cloud/baremetal/server_rebuild_params.py +2 -0
  114. gcore/types/cloud/cost_report_get_aggregated_monthly_params.py +35 -31
  115. gcore/types/cloud/cost_report_get_aggregated_params.py +26 -25
  116. gcore/types/cloud/cost_report_get_detailed_params.py +26 -25
  117. gcore/types/cloud/ddos_profile.py +13 -7
  118. gcore/types/cloud/ddos_profile_field.py +21 -8
  119. gcore/types/cloud/ddos_profile_option_list.py +7 -6
  120. gcore/types/cloud/ddos_profile_status.py +2 -2
  121. gcore/types/cloud/ddos_profile_template.py +7 -3
  122. gcore/types/cloud/ddos_profile_template_field.py +12 -3
  123. gcore/types/cloud/file_share.py +2 -2
  124. gcore/types/cloud/file_share_create_params.py +12 -6
  125. gcore/types/cloud/floating_ip_list_params.py +3 -2
  126. gcore/types/cloud/gpu_baremetal_cluster.py +101 -74
  127. gcore/types/cloud/gpu_baremetal_cluster_create_params.py +76 -93
  128. gcore/types/cloud/gpu_baremetal_cluster_delete_params.py +17 -10
  129. gcore/types/cloud/gpu_baremetal_cluster_list_params.py +14 -3
  130. gcore/types/cloud/gpu_baremetal_cluster_rebuild_params.py +4 -2
  131. gcore/types/cloud/gpu_baremetal_clusters/__init__.py +6 -0
  132. gcore/types/cloud/gpu_baremetal_clusters/gpu_baremetal_cluster_server.py +74 -0
  133. gcore/types/cloud/{gpu_baremetal_cluster_server.py → gpu_baremetal_clusters/gpu_baremetal_cluster_server_v1.py} +10 -10
  134. gcore/types/cloud/gpu_baremetal_clusters/gpu_baremetal_cluster_server_v1_list.py +16 -0
  135. gcore/types/cloud/{gpu_baremetal_flavor.py → gpu_baremetal_clusters/gpu_baremetal_flavor.py} +1 -1
  136. gcore/types/cloud/{gpu_baremetal_flavor_list.py → gpu_baremetal_clusters/gpu_baremetal_flavor_list.py} +1 -1
  137. gcore/types/cloud/gpu_baremetal_clusters/server_list_params.py +75 -0
  138. gcore/types/cloud/health_monitor.py +6 -0
  139. gcore/types/cloud/inference/__init__.py +0 -5
  140. gcore/types/cloud/inference/applications/__init__.py +12 -0
  141. gcore/types/cloud/inference/applications/deployment_create_params.py +68 -0
  142. gcore/types/cloud/inference/applications/deployment_patch_params.py +62 -0
  143. gcore/types/cloud/inference/applications/inference_application_deployment.py +111 -0
  144. gcore/types/cloud/inference/applications/inference_application_deployment_list.py +16 -0
  145. gcore/types/cloud/inference/applications/inference_application_template.py +94 -0
  146. gcore/types/cloud/inference/applications/inference_application_template_list.py +16 -0
  147. gcore/types/cloud/inference/deployment_create_params.py +7 -6
  148. gcore/types/cloud/inference/deployment_update_params.py +7 -6
  149. gcore/types/cloud/instance_assign_security_group_params.py +4 -2
  150. gcore/types/cloud/instance_list_params.py +3 -2
  151. gcore/types/cloud/instance_unassign_security_group_params.py +4 -2
  152. gcore/types/cloud/instances/image_list_params.py +3 -2
  153. gcore/types/cloud/k8s/__init__.py +13 -0
  154. gcore/types/cloud/k8s/cluster_create_params.py +299 -0
  155. gcore/types/cloud/k8s/cluster_delete_params.py +16 -0
  156. gcore/types/cloud/k8s/cluster_update_params.py +203 -0
  157. gcore/types/cloud/k8s/cluster_upgrade_params.py +16 -0
  158. gcore/types/cloud/k8s/clusters/__init__.py +10 -0
  159. gcore/types/cloud/k8s/clusters/k8s_cluster_pool.py +66 -0
  160. gcore/types/cloud/k8s/clusters/k8s_cluster_pool_list.py +16 -0
  161. gcore/types/cloud/k8s/clusters/node_list_params.py +16 -0
  162. gcore/types/cloud/k8s/clusters/pool_create_params.py +53 -0
  163. gcore/types/cloud/k8s/clusters/pool_resize_params.py +18 -0
  164. gcore/types/cloud/k8s/clusters/pool_update_params.py +34 -0
  165. gcore/types/{waap/domains/analytics → cloud/k8s/clusters/pools}/__init__.py +1 -1
  166. gcore/types/cloud/k8s/clusters/pools/node_list_params.py +18 -0
  167. gcore/types/cloud/k8s/flavor_list_params.py +19 -0
  168. gcore/types/cloud/k8s/k8s_cluster.py +209 -0
  169. gcore/types/cloud/k8s/k8s_cluster_certificate.py +13 -0
  170. gcore/types/cloud/k8s/k8s_cluster_kubeconfig.py +19 -0
  171. gcore/types/cloud/k8s/k8s_cluster_list.py +16 -0
  172. gcore/types/cloud/k8s_cluster_version.py +10 -0
  173. gcore/types/cloud/{gpu_baremetal_cluster_server_list.py → k8s_cluster_version_list.py} +4 -4
  174. gcore/types/cloud/load_balancer_create_params.py +31 -7
  175. gcore/types/cloud/load_balancer_list_params.py +3 -2
  176. gcore/types/cloud/load_balancers/l7_policies/rule_create_params.py +3 -2
  177. gcore/types/cloud/load_balancers/l7_policies/rule_replace_params.py +3 -2
  178. gcore/types/cloud/load_balancers/l7_policy_create_params.py +3 -2
  179. gcore/types/cloud/load_balancers/l7_policy_replace_params.py +3 -2
  180. gcore/types/cloud/load_balancers/listener_create_params.py +4 -3
  181. gcore/types/cloud/load_balancers/listener_update_params.py +5 -3
  182. gcore/types/cloud/load_balancers/pool_create_params.py +27 -4
  183. gcore/types/cloud/load_balancers/pool_update_params.py +27 -4
  184. gcore/types/cloud/load_balancers/pools/health_monitor_create_params.py +7 -2
  185. gcore/types/cloud/load_balancers/pools/member_add_params.py +20 -2
  186. gcore/types/cloud/member.py +19 -1
  187. gcore/types/cloud/network_list_params.py +3 -2
  188. gcore/types/cloud/networks/subnet_create_params.py +3 -2
  189. gcore/types/cloud/networks/subnet_list_params.py +3 -2
  190. gcore/types/cloud/networks/subnet_update_params.py +3 -2
  191. gcore/types/cloud/project.py +9 -9
  192. gcore/types/cloud/region.py +0 -3
  193. gcore/types/cloud/reserved_fixed_ips/vip_replace_connected_ports_params.py +3 -2
  194. gcore/types/cloud/reserved_fixed_ips/vip_update_connected_ports_params.py +3 -2
  195. gcore/types/cloud/security_group_create_params.py +4 -2
  196. gcore/types/cloud/security_group_list_params.py +3 -2
  197. gcore/types/cloud/task_id_list.py +8 -1
  198. gcore/types/cloud/task_list_params.py +23 -23
  199. gcore/types/cloud/usage_report_get_params.py +26 -25
  200. gcore/types/cloud/users/role_assignment.py +2 -1
  201. gcore/types/cloud/users/role_assignment_create_params.py +4 -2
  202. gcore/types/cloud/users/role_assignment_update_params.py +4 -2
  203. gcore/types/cloud/volume_list_params.py +3 -2
  204. gcore/types/dns/__init__.py +31 -0
  205. gcore/types/dns/dns_get_account_overview_response.py +21 -0
  206. gcore/types/dns/dns_label_name.py +13 -0
  207. gcore/types/dns/dns_location_translations.py +11 -0
  208. gcore/types/dns/dns_lookup_params.py +15 -0
  209. gcore/types/dns/dns_lookup_response.py +21 -0
  210. gcore/types/dns/dns_name_server.py +17 -0
  211. gcore/types/dns/location_list_continents_response.py +10 -0
  212. gcore/types/dns/location_list_countries_response.py +10 -0
  213. gcore/types/dns/location_list_regions_response.py +10 -0
  214. gcore/types/dns/location_list_response.py +16 -0
  215. gcore/types/dns/metric_list_params.py +24 -0
  216. gcore/types/dns/metric_list_response.py +7 -0
  217. gcore/types/dns/picker_list_response.py +10 -0
  218. gcore/types/dns/pickers/__init__.py +5 -0
  219. gcore/types/dns/pickers/preset_list_response.py +10 -0
  220. gcore/types/dns/zone_check_delegation_status_response.py +20 -0
  221. gcore/types/dns/zone_create_params.py +59 -0
  222. gcore/types/dns/zone_create_response.py +13 -0
  223. gcore/types/dns/zone_export_response.py +11 -0
  224. gcore/types/dns/zone_get_response.py +106 -0
  225. gcore/types/dns/zone_get_statistics_params.py +43 -0
  226. gcore/types/dns/zone_get_statistics_response.py +19 -0
  227. gcore/types/dns/zone_import_params.py +32 -0
  228. gcore/types/dns/zone_import_response.py +26 -0
  229. gcore/types/dns/zone_list_params.py +57 -0
  230. gcore/types/dns/zone_list_response.py +105 -0
  231. gcore/types/dns/zone_replace_params.py +61 -0
  232. gcore/types/dns/zones/__init__.py +15 -0
  233. gcore/types/dns/zones/dns_failover_log.py +19 -0
  234. gcore/types/dns/zones/dns_output_rrset.py +123 -0
  235. gcore/types/dns/zones/dnssec_get_response.py +38 -0
  236. gcore/types/dns/zones/dnssec_update_params.py +11 -0
  237. gcore/types/dns/zones/dnssec_update_response.py +38 -0
  238. gcore/types/dns/zones/rrset_create_params.py +82 -0
  239. gcore/types/dns/zones/rrset_get_failover_logs_params.py +21 -0
  240. gcore/types/dns/zones/rrset_get_failover_logs_response.py +15 -0
  241. gcore/types/dns/zones/rrset_list_params.py +21 -0
  242. gcore/types/dns/zones/rrset_list_response.py +14 -0
  243. gcore/types/dns/zones/rrset_replace_params.py +82 -0
  244. gcore/types/security/__init__.py +1 -1
  245. gcore/types/security/{bgp_announce_change_params.py → bgp_announce_toggle_params.py} +2 -2
  246. gcore/types/security/client_profile.py +1 -1
  247. gcore/types/security/profile_create_params.py +2 -2
  248. gcore/types/security/profile_recreate_params.py +2 -2
  249. gcore/types/security/profile_replace_params.py +2 -2
  250. gcore/types/storage/__init__.py +21 -0
  251. gcore/types/storage/bucket.py +15 -0
  252. gcore/types/storage/bucket_list_params.py +15 -0
  253. gcore/types/storage/buckets/__init__.py +9 -0
  254. gcore/types/storage/buckets/bucket_cors.py +18 -0
  255. gcore/types/storage/buckets/bucket_policy.py +7 -0
  256. gcore/types/storage/buckets/cor_create_params.py +17 -0
  257. gcore/types/storage/buckets/lifecycle_create_params.py +18 -0
  258. gcore/types/storage/buckets/policy_get_response.py +7 -0
  259. gcore/types/storage/credential_recreate_params.py +36 -0
  260. gcore/types/storage/location.py +24 -0
  261. gcore/types/storage/location_list_params.py +13 -0
  262. gcore/types/storage/statistic_get_usage_aggregated_params.py +24 -0
  263. gcore/types/storage/statistic_get_usage_series_params.py +38 -0
  264. gcore/types/storage/statistic_get_usage_series_response.py +12 -0
  265. gcore/types/storage/storage.py +101 -0
  266. gcore/types/storage/storage_create_params.py +44 -0
  267. gcore/types/storage/storage_list_params.py +39 -0
  268. gcore/types/storage/storage_restore_params.py +11 -0
  269. gcore/types/storage/storage_update_params.py +18 -0
  270. gcore/types/storage/usage_series.py +201 -0
  271. gcore/types/storage/usage_total.py +54 -0
  272. gcore/types/streaming/__init__.py +0 -4
  273. gcore/types/streaming/ai_contentmoderation_hardnudity.py +1 -1
  274. gcore/types/streaming/ai_contentmoderation_nsfw.py +1 -1
  275. gcore/types/streaming/ai_contentmoderation_softnudity.py +1 -1
  276. gcore/types/streaming/ai_contentmoderation_sport.py +1 -1
  277. gcore/types/streaming/ai_task.py +1 -5
  278. gcore/types/streaming/ai_task_create_params.py +2 -2
  279. gcore/types/streaming/ai_task_get_response.py +0 -46
  280. gcore/types/streaming/clip.py +2 -1
  281. gcore/types/streaming/create_video_param.py +13 -12
  282. gcore/types/streaming/max_stream_series.py +5 -5
  283. gcore/types/streaming/playlist.py +1 -1
  284. gcore/types/streaming/playlist_create_params.py +1 -1
  285. gcore/types/streaming/playlist_update_params.py +1 -1
  286. gcore/types/streaming/playlist_video.py +13 -12
  287. gcore/types/streaming/storage_series.py +5 -5
  288. gcore/types/streaming/stream.py +86 -49
  289. gcore/types/streaming/stream_create_clip_params.py +2 -1
  290. gcore/types/streaming/stream_create_params.py +9 -23
  291. gcore/types/streaming/stream_series.py +5 -5
  292. gcore/types/streaming/stream_update_params.py +9 -23
  293. gcore/types/streaming/video.py +53 -42
  294. gcore/types/streaming/video_update_params.py +13 -12
  295. gcore/types/streaming/vod_statistics_series.py +5 -5
  296. gcore/types/streaming/vod_total_stream_duration_series.py +3 -3
  297. gcore/types/waap/__init__.py +6 -54
  298. gcore/types/waap/custom_page_set_create_params.py +121 -14
  299. gcore/types/waap/custom_page_set_preview_params.py +11 -4
  300. gcore/types/waap/custom_page_set_update_params.py +122 -15
  301. gcore/types/waap/domain_list_params.py +2 -4
  302. gcore/types/waap/domain_update_params.py +1 -1
  303. gcore/types/waap/domains/__init__.py +28 -18
  304. gcore/types/waap/domains/advanced_rule_create_params.py +7 -4
  305. gcore/types/waap/domains/advanced_rule_list_params.py +1 -3
  306. gcore/types/waap/domains/advanced_rule_update_params.py +6 -3
  307. gcore/types/waap/domains/{api_discovery/scan_result_list_params.py → api_discovery_list_scan_results_params.py} +2 -2
  308. gcore/types/waap/domains/api_path_create_params.py +4 -3
  309. gcore/types/waap/domains/{api_path_group_list_response.py → api_path_group_list.py} +2 -2
  310. gcore/types/waap/domains/api_path_list_params.py +3 -1
  311. gcore/types/waap/domains/api_path_update_params.py +5 -4
  312. gcore/types/waap/domains/custom_rule_create_params.py +13 -14
  313. gcore/types/waap/domains/custom_rule_list_params.py +1 -3
  314. gcore/types/waap/domains/custom_rule_update_params.py +12 -13
  315. gcore/types/waap/domains/firewall_rule_create_params.py +3 -2
  316. gcore/types/waap/domains/firewall_rule_update_params.py +2 -1
  317. gcore/types/waap/domains/insight_list_params.py +19 -7
  318. gcore/types/waap/domains/insight_replace_params.py +3 -5
  319. gcore/types/waap/domains/insight_silence_list_params.py +17 -6
  320. gcore/types/waap/domains/setting_update_params.py +3 -2
  321. gcore/types/waap/domains/{analytics_list_ddos_attacks_params.py → statistic_get_ddos_attacks_params.py} +2 -2
  322. gcore/types/waap/domains/statistic_get_ddos_info_params.py +28 -0
  323. gcore/types/waap/domains/statistic_get_events_aggregated_params.py +33 -0
  324. gcore/types/waap/domains/statistic_get_requests_series_params.py +74 -0
  325. gcore/types/waap/domains/statistic_get_traffic_series_params.py +22 -0
  326. gcore/types/waap/domains/statistic_get_traffic_series_response.py +10 -0
  327. gcore/types/waap/{waap_advanced_rule.py → domains/waap_advanced_rule.py} +4 -3
  328. gcore/types/waap/domains/{api_discovery_get_settings_response.py → waap_api_discovery_settings.py} +2 -2
  329. gcore/types/waap/domains/{api_path_get_response.py → waap_api_path.py} +6 -6
  330. gcore/types/waap/domains/{api_discovery/scan_result_get_response.py → waap_api_scan_result.py} +5 -5
  331. gcore/types/waap/{waap_blocked_statistics.py → domains/waap_blocked_statistics.py} +1 -1
  332. gcore/types/waap/{waap_count_statistics.py → domains/waap_count_statistics.py} +1 -1
  333. gcore/types/waap/{waap_custom_rule.py → domains/waap_custom_rule.py} +5 -8
  334. gcore/types/waap/{waap_ddos_attack.py → domains/waap_ddos_attack.py} +1 -1
  335. gcore/types/waap/{waap_ddos_info.py → domains/waap_ddos_info.py} +1 -1
  336. gcore/types/waap/{waap_event_statistics.py → domains/waap_event_statistics.py} +1 -1
  337. gcore/types/waap/{waap_firewall_rule.py → domains/waap_firewall_rule.py} +4 -3
  338. gcore/types/waap/{waap_insight.py → domains/waap_insight.py} +4 -4
  339. gcore/types/waap/{waap_insight_silence.py → domains/waap_insight_silence.py} +1 -1
  340. gcore/types/waap/domains/waap_request_details.py +186 -0
  341. gcore/types/waap/{waap_request_summary.py → domains/waap_request_summary.py} +1 -1
  342. gcore/types/waap/domains/{api_discovery_scan_openapi_response.py → waap_task_id.py} +2 -2
  343. gcore/types/waap/{waap_traffic_metrics.py → domains/waap_traffic_metrics.py} +1 -1
  344. gcore/types/waap/insight_list_types_params.py +28 -0
  345. gcore/types/waap/ip_info/__init__.py +6 -0
  346. gcore/types/waap/{ip_info_get_counts_params.py → ip_info/metric_list_params.py} +2 -2
  347. gcore/types/waap/{waap_ip_info_counts.py → ip_info/waap_ip_info_counts.py} +1 -1
  348. gcore/types/waap/{ip_info_get_params.py → ip_info_get_ip_info_params.py} +2 -2
  349. gcore/types/waap/{waap_ip_info.py → ip_info_get_ip_info_response.py} +2 -2
  350. gcore/types/waap/ip_info_get_top_urls_response.py +12 -3
  351. gcore/types/waap/{ip_info_get_top_sessions_params.py → ip_info_get_top_user_sessions_params.py} +2 -2
  352. gcore/types/waap/{ip_info_get_top_sessions_response.py → ip_info_get_top_user_sessions_response.py} +2 -2
  353. gcore/types/waap/waap_custom_page_set.py +113 -13
  354. gcore/types/waap/waap_detailed_domain.py +2 -2
  355. gcore/types/waap/waap_insight_type.py +33 -0
  356. gcore/types/waap/waap_ip_ddos_info_model.py +3 -3
  357. gcore/types/waap/waap_rule_set.py +26 -3
  358. gcore/types/waap/waap_summary_domain.py +2 -2
  359. {gcore-0.9.0.dist-info → gcore-0.11.0.dist-info}/METADATA +7 -2
  360. {gcore-0.9.0.dist-info → gcore-0.11.0.dist-info}/RECORD +362 -281
  361. gcore/resources/waap/domains/analytics/__init__.py +0 -33
  362. gcore/resources/waap/domains/analytics/analytics.py +0 -676
  363. gcore/resources/waap/domains/analytics/requests.py +0 -378
  364. gcore/resources/waap/domains/api_discovery/__init__.py +0 -33
  365. gcore/resources/waap/domains/api_discovery/scan_results.py +0 -352
  366. gcore/resources/waap/domains/policies.py +0 -173
  367. gcore/types/cloud/inference/inference_model.py +0 -65
  368. gcore/types/cloud/inference/inference_registry_credentials_create.py +0 -22
  369. gcore/types/cloud/inference/model_list_params.py +0 -21
  370. gcore/types/streaming/ai_contentmoderation_casm.py +0 -39
  371. gcore/types/streaming/ai_contentmoderation_weapon.py +0 -39
  372. gcore/types/streaming/meet_series.py +0 -23
  373. gcore/types/streaming/statistic_get_meet_series_params.py +0 -20
  374. gcore/types/waap/domains/analytics/request_list_params.py +0 -53
  375. gcore/types/waap/domains/analytics_get_event_statistics_params.py +0 -34
  376. gcore/types/waap/domains/analytics_list_ddos_info_params.py +0 -31
  377. gcore/types/waap/domains/analytics_list_event_traffic_params.py +0 -26
  378. gcore/types/waap/domains/analytics_list_event_traffic_response.py +0 -10
  379. gcore/types/waap/domains/api_discovery/__init__.py +0 -7
  380. gcore/types/waap/domains/api_discovery/scan_result_list_response.py +0 -29
  381. gcore/types/waap/domains/api_discovery_update_settings_response.py +0 -36
  382. gcore/types/waap/domains/api_discovery_upload_openapi_response.py +0 -10
  383. gcore/types/waap/domains/api_path_create_response.py +0 -50
  384. gcore/types/waap/domains/api_path_list_response.py +0 -50
  385. gcore/types/waap/waap_block_csrf_page_data.py +0 -28
  386. gcore/types/waap/waap_block_csrf_page_data_param.py +0 -28
  387. gcore/types/waap/waap_block_page_data.py +0 -28
  388. gcore/types/waap/waap_block_page_data_param.py +0 -28
  389. gcore/types/waap/waap_captcha_page_data.py +0 -31
  390. gcore/types/waap/waap_captcha_page_data_param.py +0 -31
  391. gcore/types/waap/waap_common_tag.py +0 -16
  392. gcore/types/waap/waap_cookie_disabled_page_data.py +0 -18
  393. gcore/types/waap/waap_cookie_disabled_page_data_param.py +0 -18
  394. gcore/types/waap/waap_customer_rule_state.py +0 -7
  395. gcore/types/waap/waap_domain_policy.py +0 -29
  396. gcore/types/waap/waap_domain_status.py +0 -7
  397. gcore/types/waap/waap_handshake_page_data.py +0 -25
  398. gcore/types/waap/waap_handshake_page_data_param.py +0 -25
  399. gcore/types/waap/waap_insight_silence_sort_by.py +0 -9
  400. gcore/types/waap/waap_insight_sort_by.py +0 -20
  401. gcore/types/waap/waap_insight_status.py +0 -7
  402. gcore/types/waap/waap_javascript_disabled_page_data.py +0 -18
  403. gcore/types/waap/waap_javascript_disabled_page_data_param.py +0 -18
  404. gcore/types/waap/waap_network_details.py +0 -17
  405. gcore/types/waap/waap_page_type.py +0 -9
  406. gcore/types/waap/waap_paginated_custom_page_set.py +0 -22
  407. gcore/types/waap/waap_paginated_ddos_attack.py +0 -22
  408. gcore/types/waap/waap_paginated_ddos_info.py +0 -22
  409. gcore/types/waap/waap_paginated_request_summary.py +0 -22
  410. gcore/types/waap/waap_pattern_matched_tag.py +0 -37
  411. gcore/types/waap/waap_policy_action.py +0 -7
  412. gcore/types/waap/waap_request_details.py +0 -92
  413. gcore/types/waap/waap_request_organization.py +0 -13
  414. gcore/types/waap/waap_resolution.py +0 -7
  415. gcore/types/waap/waap_rule_action_type.py +0 -7
  416. gcore/types/waap/waap_top_url.py +0 -13
  417. gcore/types/waap/waap_traffic_type.py +0 -28
  418. gcore/types/waap/waap_user_agent_details.py +0 -40
  419. {gcore-0.9.0.dist-info → gcore-0.11.0.dist-info}/WHEEL +0 -0
  420. {gcore-0.9.0.dist-info → gcore-0.11.0.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,345 @@
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, NoneType, NotGiven
8
+ from ...._compat import cached_property
9
+ from ...._resource import SyncAPIResource, AsyncAPIResource
10
+ from ...._response import (
11
+ to_raw_response_wrapper,
12
+ to_streamed_response_wrapper,
13
+ async_to_raw_response_wrapper,
14
+ async_to_streamed_response_wrapper,
15
+ )
16
+ from ...._base_client import make_request_options
17
+ from ....types.storage.buckets.policy_get_response import PolicyGetResponse
18
+
19
+ __all__ = ["PolicyResource", "AsyncPolicyResource"]
20
+
21
+
22
+ class PolicyResource(SyncAPIResource):
23
+ @cached_property
24
+ def with_raw_response(self) -> PolicyResourceWithRawResponse:
25
+ """
26
+ This property can be used as a prefix for any HTTP method call to return
27
+ the raw response object instead of the parsed content.
28
+
29
+ For more information, see https://www.github.com/G-Core/gcore-python#accessing-raw-response-data-eg-headers
30
+ """
31
+ return PolicyResourceWithRawResponse(self)
32
+
33
+ @cached_property
34
+ def with_streaming_response(self) -> PolicyResourceWithStreamingResponse:
35
+ """
36
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
37
+
38
+ For more information, see https://www.github.com/G-Core/gcore-python#with_streaming_response
39
+ """
40
+ return PolicyResourceWithStreamingResponse(self)
41
+
42
+ def create(
43
+ self,
44
+ bucket_name: str,
45
+ *,
46
+ storage_id: int,
47
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
48
+ # The extra values given here take precedence over values defined on the client or passed to this method.
49
+ extra_headers: Headers | None = None,
50
+ extra_query: Query | None = None,
51
+ extra_body: Body | None = None,
52
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
53
+ ) -> None:
54
+ """
55
+ Applies a public read policy to the S3 bucket, allowing anonymous users to
56
+ download/access all objects in the bucket via HTTP GET requests. This makes the
57
+ bucket suitable for static website hosting, public file sharing, or CDN
58
+ integration. Only grants read access - users cannot upload, modify, or delete
59
+ objects without proper authentication.
60
+
61
+ Args:
62
+ extra_headers: Send extra headers
63
+
64
+ extra_query: Add additional query parameters to the request
65
+
66
+ extra_body: Add additional JSON properties to the request
67
+
68
+ timeout: Override the client-level default timeout for this request, in seconds
69
+ """
70
+ if not bucket_name:
71
+ raise ValueError(f"Expected a non-empty value for `bucket_name` but received {bucket_name!r}")
72
+ extra_headers = {"Accept": "*/*", **(extra_headers or {})}
73
+ return self._post(
74
+ f"/storage/provisioning/v1/storage/{storage_id}/s3/bucket/{bucket_name}/policy",
75
+ options=make_request_options(
76
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
77
+ ),
78
+ cast_to=NoneType,
79
+ )
80
+
81
+ def delete(
82
+ self,
83
+ bucket_name: str,
84
+ *,
85
+ storage_id: int,
86
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
87
+ # The extra values given here take precedence over values defined on the client or passed to this method.
88
+ extra_headers: Headers | None = None,
89
+ extra_query: Query | None = None,
90
+ extra_body: Body | None = None,
91
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
92
+ ) -> None:
93
+ """
94
+ Removes the public read policy from an S3 bucket, making all objects private and
95
+ accessible only with proper authentication credentials. After this operation,
96
+ anonymous users will no longer be able to access bucket contents via HTTP
97
+ requests.
98
+
99
+ Args:
100
+ extra_headers: Send extra headers
101
+
102
+ extra_query: Add additional query parameters to the request
103
+
104
+ extra_body: Add additional JSON properties to the request
105
+
106
+ timeout: Override the client-level default timeout for this request, in seconds
107
+ """
108
+ if not bucket_name:
109
+ raise ValueError(f"Expected a non-empty value for `bucket_name` but received {bucket_name!r}")
110
+ extra_headers = {"Accept": "*/*", **(extra_headers or {})}
111
+ return self._delete(
112
+ f"/storage/provisioning/v1/storage/{storage_id}/s3/bucket/{bucket_name}/policy",
113
+ options=make_request_options(
114
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
115
+ ),
116
+ cast_to=NoneType,
117
+ )
118
+
119
+ def get(
120
+ self,
121
+ bucket_name: str,
122
+ *,
123
+ storage_id: int,
124
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
125
+ # The extra values given here take precedence over values defined on the client or passed to this method.
126
+ extra_headers: Headers | None = None,
127
+ extra_query: Query | None = None,
128
+ extra_body: Body | None = None,
129
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
130
+ ) -> PolicyGetResponse:
131
+ """
132
+ Returns whether the S3 bucket is currently configured for public read access.
133
+ Shows if anonymous users can download objects from the bucket via HTTP requests.
134
+
135
+ Args:
136
+ extra_headers: Send extra headers
137
+
138
+ extra_query: Add additional query parameters to the request
139
+
140
+ extra_body: Add additional JSON properties to the request
141
+
142
+ timeout: Override the client-level default timeout for this request, in seconds
143
+ """
144
+ if not bucket_name:
145
+ raise ValueError(f"Expected a non-empty value for `bucket_name` but received {bucket_name!r}")
146
+ return self._get(
147
+ f"/storage/provisioning/v1/storage/{storage_id}/s3/bucket/{bucket_name}/policy",
148
+ options=make_request_options(
149
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
150
+ ),
151
+ cast_to=PolicyGetResponse,
152
+ )
153
+
154
+
155
+ class AsyncPolicyResource(AsyncAPIResource):
156
+ @cached_property
157
+ def with_raw_response(self) -> AsyncPolicyResourceWithRawResponse:
158
+ """
159
+ This property can be used as a prefix for any HTTP method call to return
160
+ the raw response object instead of the parsed content.
161
+
162
+ For more information, see https://www.github.com/G-Core/gcore-python#accessing-raw-response-data-eg-headers
163
+ """
164
+ return AsyncPolicyResourceWithRawResponse(self)
165
+
166
+ @cached_property
167
+ def with_streaming_response(self) -> AsyncPolicyResourceWithStreamingResponse:
168
+ """
169
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
170
+
171
+ For more information, see https://www.github.com/G-Core/gcore-python#with_streaming_response
172
+ """
173
+ return AsyncPolicyResourceWithStreamingResponse(self)
174
+
175
+ async def create(
176
+ self,
177
+ bucket_name: str,
178
+ *,
179
+ storage_id: int,
180
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
181
+ # The extra values given here take precedence over values defined on the client or passed to this method.
182
+ extra_headers: Headers | None = None,
183
+ extra_query: Query | None = None,
184
+ extra_body: Body | None = None,
185
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
186
+ ) -> None:
187
+ """
188
+ Applies a public read policy to the S3 bucket, allowing anonymous users to
189
+ download/access all objects in the bucket via HTTP GET requests. This makes the
190
+ bucket suitable for static website hosting, public file sharing, or CDN
191
+ integration. Only grants read access - users cannot upload, modify, or delete
192
+ objects without proper authentication.
193
+
194
+ Args:
195
+ extra_headers: Send extra headers
196
+
197
+ extra_query: Add additional query parameters to the request
198
+
199
+ extra_body: Add additional JSON properties to the request
200
+
201
+ timeout: Override the client-level default timeout for this request, in seconds
202
+ """
203
+ if not bucket_name:
204
+ raise ValueError(f"Expected a non-empty value for `bucket_name` but received {bucket_name!r}")
205
+ extra_headers = {"Accept": "*/*", **(extra_headers or {})}
206
+ return await self._post(
207
+ f"/storage/provisioning/v1/storage/{storage_id}/s3/bucket/{bucket_name}/policy",
208
+ options=make_request_options(
209
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
210
+ ),
211
+ cast_to=NoneType,
212
+ )
213
+
214
+ async def delete(
215
+ self,
216
+ bucket_name: str,
217
+ *,
218
+ storage_id: int,
219
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
220
+ # The extra values given here take precedence over values defined on the client or passed to this method.
221
+ extra_headers: Headers | None = None,
222
+ extra_query: Query | None = None,
223
+ extra_body: Body | None = None,
224
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
225
+ ) -> None:
226
+ """
227
+ Removes the public read policy from an S3 bucket, making all objects private and
228
+ accessible only with proper authentication credentials. After this operation,
229
+ anonymous users will no longer be able to access bucket contents via HTTP
230
+ requests.
231
+
232
+ Args:
233
+ extra_headers: Send extra headers
234
+
235
+ extra_query: Add additional query parameters to the request
236
+
237
+ extra_body: Add additional JSON properties to the request
238
+
239
+ timeout: Override the client-level default timeout for this request, in seconds
240
+ """
241
+ if not bucket_name:
242
+ raise ValueError(f"Expected a non-empty value for `bucket_name` but received {bucket_name!r}")
243
+ extra_headers = {"Accept": "*/*", **(extra_headers or {})}
244
+ return await self._delete(
245
+ f"/storage/provisioning/v1/storage/{storage_id}/s3/bucket/{bucket_name}/policy",
246
+ options=make_request_options(
247
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
248
+ ),
249
+ cast_to=NoneType,
250
+ )
251
+
252
+ async def get(
253
+ self,
254
+ bucket_name: str,
255
+ *,
256
+ storage_id: int,
257
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
258
+ # The extra values given here take precedence over values defined on the client or passed to this method.
259
+ extra_headers: Headers | None = None,
260
+ extra_query: Query | None = None,
261
+ extra_body: Body | None = None,
262
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
263
+ ) -> PolicyGetResponse:
264
+ """
265
+ Returns whether the S3 bucket is currently configured for public read access.
266
+ Shows if anonymous users can download objects from the bucket via HTTP requests.
267
+
268
+ Args:
269
+ extra_headers: Send extra headers
270
+
271
+ extra_query: Add additional query parameters to the request
272
+
273
+ extra_body: Add additional JSON properties to the request
274
+
275
+ timeout: Override the client-level default timeout for this request, in seconds
276
+ """
277
+ if not bucket_name:
278
+ raise ValueError(f"Expected a non-empty value for `bucket_name` but received {bucket_name!r}")
279
+ return await self._get(
280
+ f"/storage/provisioning/v1/storage/{storage_id}/s3/bucket/{bucket_name}/policy",
281
+ options=make_request_options(
282
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
283
+ ),
284
+ cast_to=PolicyGetResponse,
285
+ )
286
+
287
+
288
+ class PolicyResourceWithRawResponse:
289
+ def __init__(self, policy: PolicyResource) -> None:
290
+ self._policy = policy
291
+
292
+ self.create = to_raw_response_wrapper(
293
+ policy.create,
294
+ )
295
+ self.delete = to_raw_response_wrapper(
296
+ policy.delete,
297
+ )
298
+ self.get = to_raw_response_wrapper(
299
+ policy.get,
300
+ )
301
+
302
+
303
+ class AsyncPolicyResourceWithRawResponse:
304
+ def __init__(self, policy: AsyncPolicyResource) -> None:
305
+ self._policy = policy
306
+
307
+ self.create = async_to_raw_response_wrapper(
308
+ policy.create,
309
+ )
310
+ self.delete = async_to_raw_response_wrapper(
311
+ policy.delete,
312
+ )
313
+ self.get = async_to_raw_response_wrapper(
314
+ policy.get,
315
+ )
316
+
317
+
318
+ class PolicyResourceWithStreamingResponse:
319
+ def __init__(self, policy: PolicyResource) -> None:
320
+ self._policy = policy
321
+
322
+ self.create = to_streamed_response_wrapper(
323
+ policy.create,
324
+ )
325
+ self.delete = to_streamed_response_wrapper(
326
+ policy.delete,
327
+ )
328
+ self.get = to_streamed_response_wrapper(
329
+ policy.get,
330
+ )
331
+
332
+
333
+ class AsyncPolicyResourceWithStreamingResponse:
334
+ def __init__(self, policy: AsyncPolicyResource) -> None:
335
+ self._policy = policy
336
+
337
+ self.create = async_to_streamed_response_wrapper(
338
+ policy.create,
339
+ )
340
+ self.delete = async_to_streamed_response_wrapper(
341
+ policy.delete,
342
+ )
343
+ self.get = async_to_streamed_response_wrapper(
344
+ policy.get,
345
+ )
@@ -0,0 +1,221 @@
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, 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 credential_recreate_params
19
+ from ...types.storage.storage import Storage
20
+
21
+ __all__ = ["CredentialsResource", "AsyncCredentialsResource"]
22
+
23
+
24
+ class CredentialsResource(SyncAPIResource):
25
+ @cached_property
26
+ def with_raw_response(self) -> CredentialsResourceWithRawResponse:
27
+ """
28
+ This property can be used as a prefix for any HTTP method call to return
29
+ the raw response object instead of the parsed content.
30
+
31
+ For more information, see https://www.github.com/G-Core/gcore-python#accessing-raw-response-data-eg-headers
32
+ """
33
+ return CredentialsResourceWithRawResponse(self)
34
+
35
+ @cached_property
36
+ def with_streaming_response(self) -> CredentialsResourceWithStreamingResponse:
37
+ """
38
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
39
+
40
+ For more information, see https://www.github.com/G-Core/gcore-python#with_streaming_response
41
+ """
42
+ return CredentialsResourceWithStreamingResponse(self)
43
+
44
+ def recreate(
45
+ self,
46
+ storage_id: int,
47
+ *,
48
+ delete_sftp_password: bool | NotGiven = NOT_GIVEN,
49
+ generate_s3_keys: bool | NotGiven = NOT_GIVEN,
50
+ generate_sftp_password: bool | NotGiven = NOT_GIVEN,
51
+ reset_sftp_keys: bool | NotGiven = NOT_GIVEN,
52
+ sftp_password: str | NotGiven = NOT_GIVEN,
53
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
54
+ # The extra values given here take precedence over values defined on the client or passed to this method.
55
+ extra_headers: Headers | None = None,
56
+ extra_query: Query | None = None,
57
+ extra_body: Body | None = None,
58
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
59
+ ) -> Storage:
60
+ """
61
+ Generates new access credentials for the storage (S3 keys for S3 storage, SFTP
62
+ password for SFTP storage).
63
+
64
+ Args:
65
+ delete_sftp_password: Remove the SFTP password, disabling password authentication. Only applicable to
66
+ SFTP storage type.
67
+
68
+ generate_s3_keys: Generate new S3 access and secret keys for S3 storage. Only applicable to S3
69
+ storage type.
70
+
71
+ generate_sftp_password: Generate a new random password for SFTP access. Only applicable to SFTP storage
72
+ type.
73
+
74
+ reset_sftp_keys: Reset/remove all SSH keys associated with the SFTP storage. Only applicable to
75
+ SFTP storage type.
76
+
77
+ sftp_password: Set a custom password for SFTP access. Only applicable to SFTP storage type.
78
+
79
+ extra_headers: Send extra headers
80
+
81
+ extra_query: Add additional query parameters to the request
82
+
83
+ extra_body: Add additional JSON properties to the request
84
+
85
+ timeout: Override the client-level default timeout for this request, in seconds
86
+ """
87
+ return self._post(
88
+ f"/storage/provisioning/v1/storage/{storage_id}/credentials",
89
+ body=maybe_transform(
90
+ {
91
+ "delete_sftp_password": delete_sftp_password,
92
+ "generate_s3_keys": generate_s3_keys,
93
+ "generate_sftp_password": generate_sftp_password,
94
+ "reset_sftp_keys": reset_sftp_keys,
95
+ "sftp_password": sftp_password,
96
+ },
97
+ credential_recreate_params.CredentialRecreateParams,
98
+ ),
99
+ options=make_request_options(
100
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
101
+ ),
102
+ cast_to=Storage,
103
+ )
104
+
105
+
106
+ class AsyncCredentialsResource(AsyncAPIResource):
107
+ @cached_property
108
+ def with_raw_response(self) -> AsyncCredentialsResourceWithRawResponse:
109
+ """
110
+ This property can be used as a prefix for any HTTP method call to return
111
+ the raw response object instead of the parsed content.
112
+
113
+ For more information, see https://www.github.com/G-Core/gcore-python#accessing-raw-response-data-eg-headers
114
+ """
115
+ return AsyncCredentialsResourceWithRawResponse(self)
116
+
117
+ @cached_property
118
+ def with_streaming_response(self) -> AsyncCredentialsResourceWithStreamingResponse:
119
+ """
120
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
121
+
122
+ For more information, see https://www.github.com/G-Core/gcore-python#with_streaming_response
123
+ """
124
+ return AsyncCredentialsResourceWithStreamingResponse(self)
125
+
126
+ async def recreate(
127
+ self,
128
+ storage_id: int,
129
+ *,
130
+ delete_sftp_password: bool | NotGiven = NOT_GIVEN,
131
+ generate_s3_keys: bool | NotGiven = NOT_GIVEN,
132
+ generate_sftp_password: bool | NotGiven = NOT_GIVEN,
133
+ reset_sftp_keys: bool | NotGiven = NOT_GIVEN,
134
+ sftp_password: str | NotGiven = NOT_GIVEN,
135
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
136
+ # The extra values given here take precedence over values defined on the client or passed to this method.
137
+ extra_headers: Headers | None = None,
138
+ extra_query: Query | None = None,
139
+ extra_body: Body | None = None,
140
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
141
+ ) -> Storage:
142
+ """
143
+ Generates new access credentials for the storage (S3 keys for S3 storage, SFTP
144
+ password for SFTP storage).
145
+
146
+ Args:
147
+ delete_sftp_password: Remove the SFTP password, disabling password authentication. Only applicable to
148
+ SFTP storage type.
149
+
150
+ generate_s3_keys: Generate new S3 access and secret keys for S3 storage. Only applicable to S3
151
+ storage type.
152
+
153
+ generate_sftp_password: Generate a new random password for SFTP access. Only applicable to SFTP storage
154
+ type.
155
+
156
+ reset_sftp_keys: Reset/remove all SSH keys associated with the SFTP storage. Only applicable to
157
+ SFTP storage type.
158
+
159
+ sftp_password: Set a custom password for SFTP access. Only applicable to SFTP storage type.
160
+
161
+ extra_headers: Send extra headers
162
+
163
+ extra_query: Add additional query parameters to the request
164
+
165
+ extra_body: Add additional JSON properties to the request
166
+
167
+ timeout: Override the client-level default timeout for this request, in seconds
168
+ """
169
+ return await self._post(
170
+ f"/storage/provisioning/v1/storage/{storage_id}/credentials",
171
+ body=await async_maybe_transform(
172
+ {
173
+ "delete_sftp_password": delete_sftp_password,
174
+ "generate_s3_keys": generate_s3_keys,
175
+ "generate_sftp_password": generate_sftp_password,
176
+ "reset_sftp_keys": reset_sftp_keys,
177
+ "sftp_password": sftp_password,
178
+ },
179
+ credential_recreate_params.CredentialRecreateParams,
180
+ ),
181
+ options=make_request_options(
182
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
183
+ ),
184
+ cast_to=Storage,
185
+ )
186
+
187
+
188
+ class CredentialsResourceWithRawResponse:
189
+ def __init__(self, credentials: CredentialsResource) -> None:
190
+ self._credentials = credentials
191
+
192
+ self.recreate = to_raw_response_wrapper(
193
+ credentials.recreate,
194
+ )
195
+
196
+
197
+ class AsyncCredentialsResourceWithRawResponse:
198
+ def __init__(self, credentials: AsyncCredentialsResource) -> None:
199
+ self._credentials = credentials
200
+
201
+ self.recreate = async_to_raw_response_wrapper(
202
+ credentials.recreate,
203
+ )
204
+
205
+
206
+ class CredentialsResourceWithStreamingResponse:
207
+ def __init__(self, credentials: CredentialsResource) -> None:
208
+ self._credentials = credentials
209
+
210
+ self.recreate = to_streamed_response_wrapper(
211
+ credentials.recreate,
212
+ )
213
+
214
+
215
+ class AsyncCredentialsResourceWithStreamingResponse:
216
+ def __init__(self, credentials: AsyncCredentialsResource) -> None:
217
+ self._credentials = credentials
218
+
219
+ self.recreate = async_to_streamed_response_wrapper(
220
+ credentials.recreate,
221
+ )