gcore 0.1.0a1__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/__init__.py +84 -0
  2. gcore/_base_client.py +1943 -0
  3. gcore/_client.py +484 -0
  4. gcore/_compat.py +219 -0
  5. gcore/_constants.py +16 -0
  6. gcore/_exceptions.py +108 -0
  7. gcore/_files.py +123 -0
  8. gcore/_models.py +803 -0
  9. gcore/_qs.py +150 -0
  10. gcore/_resource.py +43 -0
  11. gcore/_response.py +830 -0
  12. gcore/_streaming.py +333 -0
  13. gcore/_types.py +217 -0
  14. gcore/_utils/__init__.py +57 -0
  15. gcore/_utils/_logs.py +25 -0
  16. gcore/_utils/_proxy.py +62 -0
  17. gcore/_utils/_reflection.py +42 -0
  18. gcore/_utils/_streams.py +12 -0
  19. gcore/_utils/_sync.py +86 -0
  20. gcore/_utils/_transform.py +447 -0
  21. gcore/_utils/_typing.py +151 -0
  22. gcore/_utils/_utils.py +422 -0
  23. gcore/_version.py +4 -0
  24. gcore/lib/.keep +4 -0
  25. gcore/lib/polling.py +19 -0
  26. gcore/pagination.py +70 -0
  27. gcore/py.typed +0 -0
  28. gcore/resources/__init__.py +19 -0
  29. gcore/resources/cloud/__init__.py +327 -0
  30. gcore/resources/cloud/baremetal/__init__.py +61 -0
  31. gcore/resources/cloud/baremetal/baremetal.py +166 -0
  32. gcore/resources/cloud/baremetal/flavors.py +371 -0
  33. gcore/resources/cloud/baremetal/images.py +238 -0
  34. gcore/resources/cloud/baremetal/servers.py +808 -0
  35. gcore/resources/cloud/billing_reservations.py +362 -0
  36. gcore/resources/cloud/cloud.py +774 -0
  37. gcore/resources/cloud/file_shares/__init__.py +33 -0
  38. gcore/resources/cloud/file_shares/access_rules.py +434 -0
  39. gcore/resources/cloud/file_shares/file_shares.py +994 -0
  40. gcore/resources/cloud/floating_ips.py +765 -0
  41. gcore/resources/cloud/gpu_baremetal_clusters/__init__.py +75 -0
  42. gcore/resources/cloud/gpu_baremetal_clusters/flavors.py +211 -0
  43. gcore/resources/cloud/gpu_baremetal_clusters/gpu_baremetal_clusters.py +1143 -0
  44. gcore/resources/cloud/gpu_baremetal_clusters/images.py +581 -0
  45. gcore/resources/cloud/gpu_baremetal_clusters/interfaces.py +175 -0
  46. gcore/resources/cloud/gpu_baremetal_clusters/servers.py +1098 -0
  47. gcore/resources/cloud/inference/__init__.py +89 -0
  48. gcore/resources/cloud/inference/deployments/__init__.py +33 -0
  49. gcore/resources/cloud/inference/deployments/deployments.py +1187 -0
  50. gcore/resources/cloud/inference/deployments/logs.py +235 -0
  51. gcore/resources/cloud/inference/flavors.py +280 -0
  52. gcore/resources/cloud/inference/inference.py +295 -0
  53. gcore/resources/cloud/inference/models.py +289 -0
  54. gcore/resources/cloud/inference/registry_credentials.py +649 -0
  55. gcore/resources/cloud/inference/secrets.py +629 -0
  56. gcore/resources/cloud/instances/__init__.py +75 -0
  57. gcore/resources/cloud/instances/flavors.py +449 -0
  58. gcore/resources/cloud/instances/images.py +987 -0
  59. gcore/resources/cloud/instances/instances.py +2349 -0
  60. gcore/resources/cloud/instances/interfaces.py +797 -0
  61. gcore/resources/cloud/instances/metrics.py +217 -0
  62. gcore/resources/cloud/ip_ranges.py +135 -0
  63. gcore/resources/cloud/load_balancers/__init__.py +103 -0
  64. gcore/resources/cloud/load_balancers/flavors.py +193 -0
  65. gcore/resources/cloud/load_balancers/l7_policies/__init__.py +33 -0
  66. gcore/resources/cloud/load_balancers/l7_policies/l7_policies.py +738 -0
  67. gcore/resources/cloud/load_balancers/l7_policies/rules.py +722 -0
  68. gcore/resources/cloud/load_balancers/listeners.py +788 -0
  69. gcore/resources/cloud/load_balancers/load_balancers.py +1237 -0
  70. gcore/resources/cloud/load_balancers/metrics.py +205 -0
  71. gcore/resources/cloud/load_balancers/pools/__init__.py +47 -0
  72. gcore/resources/cloud/load_balancers/pools/health_monitors.py +352 -0
  73. gcore/resources/cloud/load_balancers/pools/members.py +353 -0
  74. gcore/resources/cloud/load_balancers/pools/pools.py +872 -0
  75. gcore/resources/cloud/load_balancers/statuses.py +260 -0
  76. gcore/resources/cloud/networks/__init__.py +47 -0
  77. gcore/resources/cloud/networks/networks.py +715 -0
  78. gcore/resources/cloud/networks/routers.py +875 -0
  79. gcore/resources/cloud/networks/subnets.py +865 -0
  80. gcore/resources/cloud/placement_groups.py +465 -0
  81. gcore/resources/cloud/projects.py +608 -0
  82. gcore/resources/cloud/quotas/__init__.py +33 -0
  83. gcore/resources/cloud/quotas/quotas.py +335 -0
  84. gcore/resources/cloud/quotas/requests.py +482 -0
  85. gcore/resources/cloud/regions.py +328 -0
  86. gcore/resources/cloud/registries/__init__.py +75 -0
  87. gcore/resources/cloud/registries/artifacts.py +277 -0
  88. gcore/resources/cloud/registries/registries.py +688 -0
  89. gcore/resources/cloud/registries/repositories.py +265 -0
  90. gcore/resources/cloud/registries/tags.py +190 -0
  91. gcore/resources/cloud/registries/users.py +701 -0
  92. gcore/resources/cloud/reserved_fixed_ips/__init__.py +33 -0
  93. gcore/resources/cloud/reserved_fixed_ips/reserved_fixed_ips.py +965 -0
  94. gcore/resources/cloud/reserved_fixed_ips/vip.py +577 -0
  95. gcore/resources/cloud/secrets.py +797 -0
  96. gcore/resources/cloud/security_groups/__init__.py +33 -0
  97. gcore/resources/cloud/security_groups/rules.py +626 -0
  98. gcore/resources/cloud/security_groups/security_groups.py +863 -0
  99. gcore/resources/cloud/ssh_keys.py +635 -0
  100. gcore/resources/cloud/tasks.py +699 -0
  101. gcore/resources/cloud/users/__init__.py +33 -0
  102. gcore/resources/cloud/users/role_assignments.py +533 -0
  103. gcore/resources/cloud/users/users.py +102 -0
  104. gcore/resources/cloud/volumes.py +1710 -0
  105. gcore/types/__init__.py +3 -0
  106. gcore/types/cloud/__init__.py +199 -0
  107. gcore/types/cloud/allowed_address_pairs.py +15 -0
  108. gcore/types/cloud/aws_iam_data.py +13 -0
  109. gcore/types/cloud/aws_iam_data_param.py +15 -0
  110. gcore/types/cloud/baremetal/__init__.py +13 -0
  111. gcore/types/cloud/baremetal/baremetal_fixed_address.py +30 -0
  112. gcore/types/cloud/baremetal/baremetal_floating_address.py +15 -0
  113. gcore/types/cloud/baremetal/baremetal_server.py +178 -0
  114. gcore/types/cloud/baremetal/flavor_list_params.py +35 -0
  115. gcore/types/cloud/baremetal/flavor_list_suitable_params.py +22 -0
  116. gcore/types/cloud/baremetal/image_list_params.py +33 -0
  117. gcore/types/cloud/baremetal/server_create_params.py +370 -0
  118. gcore/types/cloud/baremetal/server_list_params.py +114 -0
  119. gcore/types/cloud/baremetal/server_rebuild_params.py +23 -0
  120. gcore/types/cloud/baremetal_flavor.py +58 -0
  121. gcore/types/cloud/baremetal_flavor_list.py +16 -0
  122. gcore/types/cloud/billing_reservation.py +153 -0
  123. gcore/types/cloud/billing_reservation_list_params.py +54 -0
  124. gcore/types/cloud/blackhole_port.py +66 -0
  125. gcore/types/cloud/capacity.py +13 -0
  126. gcore/types/cloud/console.py +18 -0
  127. gcore/types/cloud/container_probe.py +36 -0
  128. gcore/types/cloud/container_probe_config.py +16 -0
  129. gcore/types/cloud/container_probe_config_create_param.py +18 -0
  130. gcore/types/cloud/container_probe_create_param.py +38 -0
  131. gcore/types/cloud/container_probe_exec.py +12 -0
  132. gcore/types/cloud/container_probe_exec_create_param.py +13 -0
  133. gcore/types/cloud/container_probe_http_get.py +26 -0
  134. gcore/types/cloud/container_probe_http_get_create_param.py +25 -0
  135. gcore/types/cloud/container_probe_tcp_socket.py +10 -0
  136. gcore/types/cloud/container_probe_tcp_socket_create_param.py +12 -0
  137. gcore/types/cloud/container_scale.py +25 -0
  138. gcore/types/cloud/container_scale_trigger_rate.py +13 -0
  139. gcore/types/cloud/container_scale_trigger_sqs.py +33 -0
  140. gcore/types/cloud/container_scale_trigger_threshold.py +10 -0
  141. gcore/types/cloud/container_scale_triggers.py +36 -0
  142. gcore/types/cloud/ddos_profile.py +33 -0
  143. gcore/types/cloud/ddos_profile_field.py +31 -0
  144. gcore/types/cloud/ddos_profile_option_list.py +15 -0
  145. gcore/types/cloud/ddos_profile_status.py +13 -0
  146. gcore/types/cloud/ddos_profile_template.py +18 -0
  147. gcore/types/cloud/ddos_profile_template_field.py +23 -0
  148. gcore/types/cloud/deploy_status.py +13 -0
  149. gcore/types/cloud/file_share.py +111 -0
  150. gcore/types/cloud/file_share_create_params.py +104 -0
  151. gcore/types/cloud/file_share_list_params.py +24 -0
  152. gcore/types/cloud/file_share_resize_params.py +18 -0
  153. gcore/types/cloud/file_share_update_params.py +18 -0
  154. gcore/types/cloud/file_shares/__init__.py +7 -0
  155. gcore/types/cloud/file_shares/access_rule.py +21 -0
  156. gcore/types/cloud/file_shares/access_rule_create_params.py +21 -0
  157. gcore/types/cloud/file_shares/access_rule_list.py +16 -0
  158. gcore/types/cloud/fixed_address.py +38 -0
  159. gcore/types/cloud/fixed_address_short.py +24 -0
  160. gcore/types/cloud/flavor_hardware_description.py +27 -0
  161. gcore/types/cloud/floating_address.py +15 -0
  162. gcore/types/cloud/floating_ip.py +77 -0
  163. gcore/types/cloud/floating_ip_assign_params.py +20 -0
  164. gcore/types/cloud/floating_ip_create_params.py +40 -0
  165. gcore/types/cloud/floating_ip_detailed.py +222 -0
  166. gcore/types/cloud/floating_ip_list_params.py +35 -0
  167. gcore/types/cloud/floating_ip_status.py +7 -0
  168. gcore/types/cloud/gpu_baremetal_cluster.py +116 -0
  169. gcore/types/cloud/gpu_baremetal_cluster_create_params.py +135 -0
  170. gcore/types/cloud/gpu_baremetal_cluster_delete_params.py +28 -0
  171. gcore/types/cloud/gpu_baremetal_cluster_list_params.py +19 -0
  172. gcore/types/cloud/gpu_baremetal_cluster_rebuild_params.py +26 -0
  173. gcore/types/cloud/gpu_baremetal_cluster_resize_params.py +16 -0
  174. gcore/types/cloud/gpu_baremetal_cluster_server.py +200 -0
  175. gcore/types/cloud/gpu_baremetal_cluster_server_list.py +16 -0
  176. gcore/types/cloud/gpu_baremetal_clusters/__init__.py +9 -0
  177. gcore/types/cloud/gpu_baremetal_clusters/flavor_list_params.py +21 -0
  178. gcore/types/cloud/gpu_baremetal_clusters/image_upload_params.py +58 -0
  179. gcore/types/cloud/gpu_baremetal_clusters/server_attach_interface_params.py +253 -0
  180. gcore/types/cloud/gpu_baremetal_clusters/server_delete_params.py +21 -0
  181. gcore/types/cloud/gpu_baremetal_clusters/server_detach_interface_params.py +19 -0
  182. gcore/types/cloud/gpu_baremetal_flavor.py +133 -0
  183. gcore/types/cloud/gpu_baremetal_flavor_list.py +16 -0
  184. gcore/types/cloud/gpu_image.py +70 -0
  185. gcore/types/cloud/gpu_image_list.py +16 -0
  186. gcore/types/cloud/health_monitor.py +48 -0
  187. gcore/types/cloud/health_monitor_status.py +22 -0
  188. gcore/types/cloud/http_method.py +7 -0
  189. gcore/types/cloud/image.py +100 -0
  190. gcore/types/cloud/image_list.py +16 -0
  191. gcore/types/cloud/inference/__init__.py +25 -0
  192. gcore/types/cloud/inference/container.py +26 -0
  193. gcore/types/cloud/inference/deployment_create_params.py +222 -0
  194. gcore/types/cloud/inference/deployment_list_params.py +21 -0
  195. gcore/types/cloud/inference/deployment_update_params.py +215 -0
  196. gcore/types/cloud/inference/deployments/__init__.py +5 -0
  197. gcore/types/cloud/inference/deployments/log_list_params.py +28 -0
  198. gcore/types/cloud/inference/flavor_list_params.py +18 -0
  199. gcore/types/cloud/inference/inference.py +95 -0
  200. gcore/types/cloud/inference/inference_apikey_secret.py +15 -0
  201. gcore/types/cloud/inference/inference_flavor.py +34 -0
  202. gcore/types/cloud/inference/inference_log.py +21 -0
  203. gcore/types/cloud/inference/inference_registry_credential.py +19 -0
  204. gcore/types/cloud/inference/inference_registry_credential_full.py +22 -0
  205. gcore/types/cloud/inference/inference_secret.py +17 -0
  206. gcore/types/cloud/inference/mlcatalog_model_card.py +65 -0
  207. gcore/types/cloud/inference/mlcatalog_order_by_choices.py +7 -0
  208. gcore/types/cloud/inference/model_list_params.py +23 -0
  209. gcore/types/cloud/inference/registry_credential_create_params.py +24 -0
  210. gcore/types/cloud/inference/registry_credential_list_params.py +21 -0
  211. gcore/types/cloud/inference/registry_credential_replace_params.py +21 -0
  212. gcore/types/cloud/inference/secret_create_params.py +23 -0
  213. gcore/types/cloud/inference/secret_list_params.py +21 -0
  214. gcore/types/cloud/inference/secret_replace_params.py +20 -0
  215. gcore/types/cloud/inference_probes.py +19 -0
  216. gcore/types/cloud/ingress_opts_out.py +16 -0
  217. gcore/types/cloud/ingress_opts_param.py +18 -0
  218. gcore/types/cloud/instance.py +296 -0
  219. gcore/types/cloud/instance_action_params.py +32 -0
  220. gcore/types/cloud/instance_add_to_placement_group_params.py +16 -0
  221. gcore/types/cloud/instance_assign_security_group_params.py +28 -0
  222. gcore/types/cloud/instance_create_params.py +622 -0
  223. gcore/types/cloud/instance_delete_params.py +33 -0
  224. gcore/types/cloud/instance_get_console_params.py +16 -0
  225. gcore/types/cloud/instance_interface.py +40 -0
  226. gcore/types/cloud/instance_isolation.py +12 -0
  227. gcore/types/cloud/instance_list.py +16 -0
  228. gcore/types/cloud/instance_list_params.py +146 -0
  229. gcore/types/cloud/instance_metrics_time_unit.py +7 -0
  230. gcore/types/cloud/instance_resize_params.py +16 -0
  231. gcore/types/cloud/instance_unassign_security_group_params.py +28 -0
  232. gcore/types/cloud/instance_update_params.py +18 -0
  233. gcore/types/cloud/instances/__init__.py +19 -0
  234. gcore/types/cloud/instances/flavor_list_for_resize_params.py +16 -0
  235. gcore/types/cloud/instances/flavor_list_params.py +25 -0
  236. gcore/types/cloud/instances/flavor_list_suitable_params.py +56 -0
  237. gcore/types/cloud/instances/image_create_from_volume_params.py +53 -0
  238. gcore/types/cloud/instances/image_get_params.py +16 -0
  239. gcore/types/cloud/instances/image_list_params.py +33 -0
  240. gcore/types/cloud/instances/image_update_params.py +43 -0
  241. gcore/types/cloud/instances/image_upload_params.py +62 -0
  242. gcore/types/cloud/instances/instance_flavor.py +49 -0
  243. gcore/types/cloud/instances/instance_flavor_list.py +16 -0
  244. gcore/types/cloud/instances/interface_attach_params.py +253 -0
  245. gcore/types/cloud/instances/interface_detach_params.py +19 -0
  246. gcore/types/cloud/instances/metric_list_params.py +23 -0
  247. gcore/types/cloud/instances/metrics.py +52 -0
  248. gcore/types/cloud/instances/metrics_list.py +16 -0
  249. gcore/types/cloud/interface_ip_family.py +7 -0
  250. gcore/types/cloud/ip_assignment.py +13 -0
  251. gcore/types/cloud/ip_ranges.py +12 -0
  252. gcore/types/cloud/ip_version.py +7 -0
  253. gcore/types/cloud/laas_index_retention_policy.py +12 -0
  254. gcore/types/cloud/laas_index_retention_policy_param.py +13 -0
  255. gcore/types/cloud/lb_algorithm.py +7 -0
  256. gcore/types/cloud/lb_health_monitor_type.py +7 -0
  257. gcore/types/cloud/lb_listener_protocol.py +7 -0
  258. gcore/types/cloud/lb_pool_protocol.py +7 -0
  259. gcore/types/cloud/lb_session_persistence_type.py +7 -0
  260. gcore/types/cloud/listener_status.py +27 -0
  261. gcore/types/cloud/load_balancer.py +144 -0
  262. gcore/types/cloud/load_balancer_create_params.py +327 -0
  263. gcore/types/cloud/load_balancer_failover_params.py +16 -0
  264. gcore/types/cloud/load_balancer_flavor_detail.py +40 -0
  265. gcore/types/cloud/load_balancer_flavor_list.py +16 -0
  266. gcore/types/cloud/load_balancer_get_params.py +19 -0
  267. gcore/types/cloud/load_balancer_instance_role.py +7 -0
  268. gcore/types/cloud/load_balancer_l7_policy.py +86 -0
  269. gcore/types/cloud/load_balancer_l7_policy_list.py +16 -0
  270. gcore/types/cloud/load_balancer_l7_rule.py +72 -0
  271. gcore/types/cloud/load_balancer_l7_rule_list.py +16 -0
  272. gcore/types/cloud/load_balancer_list_params.py +53 -0
  273. gcore/types/cloud/load_balancer_listener_detail.py +97 -0
  274. gcore/types/cloud/load_balancer_listener_list.py +16 -0
  275. gcore/types/cloud/load_balancer_member_connectivity.py +7 -0
  276. gcore/types/cloud/load_balancer_metrics.py +32 -0
  277. gcore/types/cloud/load_balancer_metrics_list.py +16 -0
  278. gcore/types/cloud/load_balancer_operating_status.py +7 -0
  279. gcore/types/cloud/load_balancer_pool.py +87 -0
  280. gcore/types/cloud/load_balancer_pool_list.py +16 -0
  281. gcore/types/cloud/load_balancer_resize_params.py +16 -0
  282. gcore/types/cloud/load_balancer_statistics.py +22 -0
  283. gcore/types/cloud/load_balancer_status.py +38 -0
  284. gcore/types/cloud/load_balancer_status_list.py +16 -0
  285. gcore/types/cloud/load_balancer_update_params.py +43 -0
  286. gcore/types/cloud/load_balancers/__init__.py +15 -0
  287. gcore/types/cloud/load_balancers/flavor_list_params.py +16 -0
  288. gcore/types/cloud/load_balancers/l7_policies/__init__.py +6 -0
  289. gcore/types/cloud/load_balancers/l7_policies/rule_create_params.py +50 -0
  290. gcore/types/cloud/load_balancers/l7_policies/rule_replace_params.py +43 -0
  291. gcore/types/cloud/load_balancers/l7_policy_create_params.py +54 -0
  292. gcore/types/cloud/load_balancers/l7_policy_replace_params.py +51 -0
  293. gcore/types/cloud/load_balancers/listener_create_params.py +72 -0
  294. gcore/types/cloud/load_balancers/listener_get_params.py +16 -0
  295. gcore/types/cloud/load_balancers/listener_list_params.py +19 -0
  296. gcore/types/cloud/load_balancers/listener_update_params.py +55 -0
  297. gcore/types/cloud/load_balancers/metric_list_params.py +21 -0
  298. gcore/types/cloud/load_balancers/pool_create_params.py +141 -0
  299. gcore/types/cloud/load_balancers/pool_list_params.py +25 -0
  300. gcore/types/cloud/load_balancers/pool_update_params.py +139 -0
  301. gcore/types/cloud/load_balancers/pools/__init__.py +6 -0
  302. gcore/types/cloud/load_balancers/pools/health_monitor_create_params.py +49 -0
  303. gcore/types/cloud/load_balancers/pools/member_add_params.py +44 -0
  304. gcore/types/cloud/logging.py +22 -0
  305. gcore/types/cloud/member.py +47 -0
  306. gcore/types/cloud/member_status.py +24 -0
  307. gcore/types/cloud/network.py +79 -0
  308. gcore/types/cloud/network_create_params.py +34 -0
  309. gcore/types/cloud/network_details.py +79 -0
  310. gcore/types/cloud/network_interface.py +78 -0
  311. gcore/types/cloud/network_interface_list.py +16 -0
  312. gcore/types/cloud/network_list_params.py +36 -0
  313. gcore/types/cloud/network_update_params.py +16 -0
  314. gcore/types/cloud/networks/__init__.py +14 -0
  315. gcore/types/cloud/networks/router.py +83 -0
  316. gcore/types/cloud/networks/router_attach_subnet_params.py +24 -0
  317. gcore/types/cloud/networks/router_create_params.py +75 -0
  318. gcore/types/cloud/networks/router_detach_subnet_params.py +16 -0
  319. gcore/types/cloud/networks/router_list.py +16 -0
  320. gcore/types/cloud/networks/router_list_params.py +19 -0
  321. gcore/types/cloud/networks/router_update_params.py +45 -0
  322. gcore/types/cloud/networks/subnet_create_params.py +82 -0
  323. gcore/types/cloud/networks/subnet_list_params.py +58 -0
  324. gcore/types/cloud/networks/subnet_update_params.py +47 -0
  325. gcore/types/cloud/placement_group.py +41 -0
  326. gcore/types/cloud/placement_group_create_params.py +19 -0
  327. gcore/types/cloud/placement_group_list.py +16 -0
  328. gcore/types/cloud/pool_status.py +31 -0
  329. gcore/types/cloud/project.py +47 -0
  330. gcore/types/cloud/project_create_params.py +22 -0
  331. gcore/types/cloud/project_list_params.py +27 -0
  332. gcore/types/cloud/project_replace_params.py +18 -0
  333. gcore/types/cloud/provisioning_status.py +9 -0
  334. gcore/types/cloud/quota_get_all_response.py +340 -0
  335. gcore/types/cloud/quota_get_by_region_response.py +288 -0
  336. gcore/types/cloud/quota_get_global_response.py +51 -0
  337. gcore/types/cloud/quotas/__init__.py +8 -0
  338. gcore/types/cloud/quotas/request_create_params.py +193 -0
  339. gcore/types/cloud/quotas/request_get_response.py +205 -0
  340. gcore/types/cloud/quotas/request_list_params.py +22 -0
  341. gcore/types/cloud/quotas/request_list_response.py +205 -0
  342. gcore/types/cloud/region.py +101 -0
  343. gcore/types/cloud/region_capacity.py +16 -0
  344. gcore/types/cloud/region_capacity_list.py +16 -0
  345. gcore/types/cloud/region_get_params.py +18 -0
  346. gcore/types/cloud/region_list_params.py +31 -0
  347. gcore/types/cloud/registries/__init__.py +14 -0
  348. gcore/types/cloud/registries/registry_artifact.py +35 -0
  349. gcore/types/cloud/registries/registry_artifact_list.py +16 -0
  350. gcore/types/cloud/registries/registry_repository.py +30 -0
  351. gcore/types/cloud/registries/registry_repository_list.py +16 -0
  352. gcore/types/cloud/registries/registry_user.py +28 -0
  353. gcore/types/cloud/registries/registry_user_created.py +31 -0
  354. gcore/types/cloud/registries/registry_user_list.py +16 -0
  355. gcore/types/cloud/registries/user_create_multiple_params.py +36 -0
  356. gcore/types/cloud/registries/user_create_params.py +30 -0
  357. gcore/types/cloud/registries/user_update_params.py +21 -0
  358. gcore/types/cloud/registry.py +33 -0
  359. gcore/types/cloud/registry_create_params.py +24 -0
  360. gcore/types/cloud/registry_list.py +16 -0
  361. gcore/types/cloud/registry_resize_params.py +16 -0
  362. gcore/types/cloud/registry_tag.py +27 -0
  363. gcore/types/cloud/reserved_fixed_ip.py +98 -0
  364. gcore/types/cloud/reserved_fixed_ip_create_params.py +107 -0
  365. gcore/types/cloud/reserved_fixed_ip_list_params.py +47 -0
  366. gcore/types/cloud/reserved_fixed_ips/__init__.py +12 -0
  367. gcore/types/cloud/reserved_fixed_ips/candidate_port.py +26 -0
  368. gcore/types/cloud/reserved_fixed_ips/candidate_port_list.py +16 -0
  369. gcore/types/cloud/reserved_fixed_ips/connected_port.py +26 -0
  370. gcore/types/cloud/reserved_fixed_ips/connected_port_list.py +16 -0
  371. gcore/types/cloud/reserved_fixed_ips/ip_with_subnet.py +17 -0
  372. gcore/types/cloud/reserved_fixed_ips/vip_replace_connected_ports_params.py +17 -0
  373. gcore/types/cloud/reserved_fixed_ips/vip_toggle_params.py +16 -0
  374. gcore/types/cloud/reserved_fixed_ips/vip_update_connected_ports_params.py +17 -0
  375. gcore/types/cloud/route.py +16 -0
  376. gcore/types/cloud/secret.py +64 -0
  377. gcore/types/cloud/secret_create_params.py +66 -0
  378. gcore/types/cloud/secret_list_response.py +16 -0
  379. gcore/types/cloud/secret_upload_tls_certificate_params.py +39 -0
  380. gcore/types/cloud/security_group.py +45 -0
  381. gcore/types/cloud/security_group_copy_params.py +16 -0
  382. gcore/types/cloud/security_group_create_params.py +94 -0
  383. gcore/types/cloud/security_group_list_params.py +30 -0
  384. gcore/types/cloud/security_group_rule.py +83 -0
  385. gcore/types/cloud/security_group_update_params.py +83 -0
  386. gcore/types/cloud/security_groups/__init__.py +6 -0
  387. gcore/types/cloud/security_groups/rule_create_params.py +65 -0
  388. gcore/types/cloud/security_groups/rule_replace_params.py +72 -0
  389. gcore/types/cloud/session_persistence.py +22 -0
  390. gcore/types/cloud/ssh_key.py +39 -0
  391. gcore/types/cloud/ssh_key_create_params.py +31 -0
  392. gcore/types/cloud/ssh_key_created.py +53 -0
  393. gcore/types/cloud/ssh_key_list_params.py +21 -0
  394. gcore/types/cloud/ssh_key_update_params.py +15 -0
  395. gcore/types/cloud/subnet.py +87 -0
  396. gcore/types/cloud/tag.py +16 -0
  397. gcore/types/cloud/tag_update_map_param.py +10 -0
  398. gcore/types/cloud/task.py +191 -0
  399. gcore/types/cloud/task_acknowledge_all_params.py +16 -0
  400. gcore/types/cloud/task_id_list.py +12 -0
  401. gcore/types/cloud/task_list_params.py +104 -0
  402. gcore/types/cloud/users/__init__.py +9 -0
  403. gcore/types/cloud/users/role_assignment.py +33 -0
  404. gcore/types/cloud/users/role_assignment_create_params.py +22 -0
  405. gcore/types/cloud/users/role_assignment_list_params.py +25 -0
  406. gcore/types/cloud/users/role_assignment_update_delete.py +10 -0
  407. gcore/types/cloud/users/role_assignment_update_params.py +22 -0
  408. gcore/types/cloud/volume.py +141 -0
  409. gcore/types/cloud/volume_attach_to_instance_params.py +21 -0
  410. gcore/types/cloud/volume_change_type_params.py +18 -0
  411. gcore/types/cloud/volume_create_params.py +176 -0
  412. gcore/types/cloud/volume_delete_params.py +18 -0
  413. gcore/types/cloud/volume_detach_from_instance_params.py +18 -0
  414. gcore/types/cloud/volume_list_params.py +56 -0
  415. gcore/types/cloud/volume_resize_params.py +18 -0
  416. gcore/types/cloud/volume_update_params.py +18 -0
  417. gcore-0.1.0a1.dist-info/METADATA +485 -0
  418. gcore-0.1.0a1.dist-info/RECORD +420 -0
  419. gcore-0.1.0a1.dist-info/WHEEL +4 -0
  420. gcore-0.1.0a1.dist-info/licenses/LICENSE +201 -0
@@ -0,0 +1,33 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from .users import (
4
+ UsersResource,
5
+ AsyncUsersResource,
6
+ UsersResourceWithRawResponse,
7
+ AsyncUsersResourceWithRawResponse,
8
+ UsersResourceWithStreamingResponse,
9
+ AsyncUsersResourceWithStreamingResponse,
10
+ )
11
+ from .role_assignments import (
12
+ RoleAssignmentsResource,
13
+ AsyncRoleAssignmentsResource,
14
+ RoleAssignmentsResourceWithRawResponse,
15
+ AsyncRoleAssignmentsResourceWithRawResponse,
16
+ RoleAssignmentsResourceWithStreamingResponse,
17
+ AsyncRoleAssignmentsResourceWithStreamingResponse,
18
+ )
19
+
20
+ __all__ = [
21
+ "RoleAssignmentsResource",
22
+ "AsyncRoleAssignmentsResource",
23
+ "RoleAssignmentsResourceWithRawResponse",
24
+ "AsyncRoleAssignmentsResourceWithRawResponse",
25
+ "RoleAssignmentsResourceWithStreamingResponse",
26
+ "AsyncRoleAssignmentsResourceWithStreamingResponse",
27
+ "UsersResource",
28
+ "AsyncUsersResource",
29
+ "UsersResourceWithRawResponse",
30
+ "AsyncUsersResourceWithRawResponse",
31
+ "UsersResourceWithStreamingResponse",
32
+ "AsyncUsersResourceWithStreamingResponse",
33
+ ]
@@ -0,0 +1,533 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import Optional
6
+
7
+ import httpx
8
+
9
+ from ...._types import NOT_GIVEN, Body, Query, Headers, NotGiven
10
+ from ...._utils import maybe_transform, async_maybe_transform
11
+ from ...._compat import cached_property
12
+ from ...._resource import SyncAPIResource, AsyncAPIResource
13
+ from ...._response import (
14
+ to_raw_response_wrapper,
15
+ to_streamed_response_wrapper,
16
+ async_to_raw_response_wrapper,
17
+ async_to_streamed_response_wrapper,
18
+ )
19
+ from ....pagination import SyncOffsetPage, AsyncOffsetPage
20
+ from ...._base_client import AsyncPaginator, make_request_options
21
+ from ....types.cloud.users import (
22
+ role_assignment_list_params,
23
+ role_assignment_create_params,
24
+ role_assignment_update_params,
25
+ )
26
+ from ....types.cloud.users.role_assignment import RoleAssignment
27
+ from ....types.cloud.users.role_assignment_update_delete import RoleAssignmentUpdateDelete
28
+
29
+ __all__ = ["RoleAssignmentsResource", "AsyncRoleAssignmentsResource"]
30
+
31
+
32
+ class RoleAssignmentsResource(SyncAPIResource):
33
+ @cached_property
34
+ def with_raw_response(self) -> RoleAssignmentsResourceWithRawResponse:
35
+ """
36
+ This property can be used as a prefix for any HTTP method call to return
37
+ the raw response object instead of the parsed content.
38
+
39
+ For more information, see https://www.github.com/G-Core/gcore-python#accessing-raw-response-data-eg-headers
40
+ """
41
+ return RoleAssignmentsResourceWithRawResponse(self)
42
+
43
+ @cached_property
44
+ def with_streaming_response(self) -> RoleAssignmentsResourceWithStreamingResponse:
45
+ """
46
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
47
+
48
+ For more information, see https://www.github.com/G-Core/gcore-python#with_streaming_response
49
+ """
50
+ return RoleAssignmentsResourceWithStreamingResponse(self)
51
+
52
+ def create(
53
+ self,
54
+ *,
55
+ role: str,
56
+ user_id: int,
57
+ client_id: Optional[int] | NotGiven = NOT_GIVEN,
58
+ project_id: Optional[int] | NotGiven = NOT_GIVEN,
59
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
60
+ # The extra values given here take precedence over values defined on the client or passed to this method.
61
+ extra_headers: Headers | None = None,
62
+ extra_query: Query | None = None,
63
+ extra_body: Body | None = None,
64
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
65
+ ) -> RoleAssignment:
66
+ """
67
+ Assign role to existing user
68
+
69
+ Args:
70
+ role: User role
71
+
72
+ user_id: User ID
73
+
74
+ client_id: Client ID. Required if project_id is specified
75
+
76
+ project_id: Project ID
77
+
78
+ extra_headers: Send extra headers
79
+
80
+ extra_query: Add additional query parameters to the request
81
+
82
+ extra_body: Add additional JSON properties to the request
83
+
84
+ timeout: Override the client-level default timeout for this request, in seconds
85
+ """
86
+ return self._post(
87
+ "/cloud/v1/users/assignments",
88
+ body=maybe_transform(
89
+ {
90
+ "role": role,
91
+ "user_id": user_id,
92
+ "client_id": client_id,
93
+ "project_id": project_id,
94
+ },
95
+ role_assignment_create_params.RoleAssignmentCreateParams,
96
+ ),
97
+ options=make_request_options(
98
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
99
+ ),
100
+ cast_to=RoleAssignment,
101
+ )
102
+
103
+ def update(
104
+ self,
105
+ assignment_id: int,
106
+ *,
107
+ role: str,
108
+ user_id: int,
109
+ client_id: Optional[int] | NotGiven = NOT_GIVEN,
110
+ project_id: Optional[int] | 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
+ ) -> RoleAssignmentUpdateDelete:
118
+ """
119
+ Modify role assignment to existing user
120
+
121
+ Args:
122
+ assignment_id: Assignment ID
123
+
124
+ role: User role
125
+
126
+ user_id: User ID
127
+
128
+ client_id: Client ID. Required if project_id is specified
129
+
130
+ project_id: Project ID
131
+
132
+ extra_headers: Send extra headers
133
+
134
+ extra_query: Add additional query parameters to the request
135
+
136
+ extra_body: Add additional JSON properties to the request
137
+
138
+ timeout: Override the client-level default timeout for this request, in seconds
139
+ """
140
+ return self._patch(
141
+ f"/cloud/v1/users/assignments/{assignment_id}",
142
+ body=maybe_transform(
143
+ {
144
+ "role": role,
145
+ "user_id": user_id,
146
+ "client_id": client_id,
147
+ "project_id": project_id,
148
+ },
149
+ role_assignment_update_params.RoleAssignmentUpdateParams,
150
+ ),
151
+ options=make_request_options(
152
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
153
+ ),
154
+ cast_to=RoleAssignmentUpdateDelete,
155
+ )
156
+
157
+ def list(
158
+ self,
159
+ *,
160
+ limit: int | NotGiven = NOT_GIVEN,
161
+ offset: int | NotGiven = NOT_GIVEN,
162
+ project_id: int | NotGiven = NOT_GIVEN,
163
+ user_id: int | NotGiven = NOT_GIVEN,
164
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
165
+ # The extra values given here take precedence over values defined on the client or passed to this method.
166
+ extra_headers: Headers | None = None,
167
+ extra_query: Query | None = None,
168
+ extra_body: Body | None = None,
169
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
170
+ ) -> SyncOffsetPage[RoleAssignment]:
171
+ """List assignments
172
+
173
+ Args:
174
+ limit: Limit the number of returned items.
175
+
176
+ Falls back to default of 1000 if not
177
+ specified. Limited by max limit value of 1000
178
+
179
+ offset: Offset value is used to exclude the first set of records from the result
180
+
181
+ project_id: Project ID
182
+
183
+ user_id: User ID for filtering
184
+
185
+ extra_headers: Send extra headers
186
+
187
+ extra_query: Add additional query parameters to the request
188
+
189
+ extra_body: Add additional JSON properties to the request
190
+
191
+ timeout: Override the client-level default timeout for this request, in seconds
192
+ """
193
+ return self._get_api_list(
194
+ "/cloud/v1/users/assignments",
195
+ page=SyncOffsetPage[RoleAssignment],
196
+ options=make_request_options(
197
+ extra_headers=extra_headers,
198
+ extra_query=extra_query,
199
+ extra_body=extra_body,
200
+ timeout=timeout,
201
+ query=maybe_transform(
202
+ {
203
+ "limit": limit,
204
+ "offset": offset,
205
+ "project_id": project_id,
206
+ "user_id": user_id,
207
+ },
208
+ role_assignment_list_params.RoleAssignmentListParams,
209
+ ),
210
+ ),
211
+ model=RoleAssignment,
212
+ )
213
+
214
+ def delete(
215
+ self,
216
+ assignment_id: int,
217
+ *,
218
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
219
+ # The extra values given here take precedence over values defined on the client or passed to this method.
220
+ extra_headers: Headers | None = None,
221
+ extra_query: Query | None = None,
222
+ extra_body: Body | None = None,
223
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
224
+ ) -> RoleAssignmentUpdateDelete:
225
+ """
226
+ Delete role assignment
227
+
228
+ Args:
229
+ assignment_id: Assignment ID
230
+
231
+ extra_headers: Send extra headers
232
+
233
+ extra_query: Add additional query parameters to the request
234
+
235
+ extra_body: Add additional JSON properties to the request
236
+
237
+ timeout: Override the client-level default timeout for this request, in seconds
238
+ """
239
+ return self._delete(
240
+ f"/cloud/v1/users/assignments/{assignment_id}",
241
+ options=make_request_options(
242
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
243
+ ),
244
+ cast_to=RoleAssignmentUpdateDelete,
245
+ )
246
+
247
+
248
+ class AsyncRoleAssignmentsResource(AsyncAPIResource):
249
+ @cached_property
250
+ def with_raw_response(self) -> AsyncRoleAssignmentsResourceWithRawResponse:
251
+ """
252
+ This property can be used as a prefix for any HTTP method call to return
253
+ the raw response object instead of the parsed content.
254
+
255
+ For more information, see https://www.github.com/G-Core/gcore-python#accessing-raw-response-data-eg-headers
256
+ """
257
+ return AsyncRoleAssignmentsResourceWithRawResponse(self)
258
+
259
+ @cached_property
260
+ def with_streaming_response(self) -> AsyncRoleAssignmentsResourceWithStreamingResponse:
261
+ """
262
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
263
+
264
+ For more information, see https://www.github.com/G-Core/gcore-python#with_streaming_response
265
+ """
266
+ return AsyncRoleAssignmentsResourceWithStreamingResponse(self)
267
+
268
+ async def create(
269
+ self,
270
+ *,
271
+ role: str,
272
+ user_id: int,
273
+ client_id: Optional[int] | NotGiven = NOT_GIVEN,
274
+ project_id: Optional[int] | NotGiven = NOT_GIVEN,
275
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
276
+ # The extra values given here take precedence over values defined on the client or passed to this method.
277
+ extra_headers: Headers | None = None,
278
+ extra_query: Query | None = None,
279
+ extra_body: Body | None = None,
280
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
281
+ ) -> RoleAssignment:
282
+ """
283
+ Assign role to existing user
284
+
285
+ Args:
286
+ role: User role
287
+
288
+ user_id: User ID
289
+
290
+ client_id: Client ID. Required if project_id is specified
291
+
292
+ project_id: Project ID
293
+
294
+ extra_headers: Send extra headers
295
+
296
+ extra_query: Add additional query parameters to the request
297
+
298
+ extra_body: Add additional JSON properties to the request
299
+
300
+ timeout: Override the client-level default timeout for this request, in seconds
301
+ """
302
+ return await self._post(
303
+ "/cloud/v1/users/assignments",
304
+ body=await async_maybe_transform(
305
+ {
306
+ "role": role,
307
+ "user_id": user_id,
308
+ "client_id": client_id,
309
+ "project_id": project_id,
310
+ },
311
+ role_assignment_create_params.RoleAssignmentCreateParams,
312
+ ),
313
+ options=make_request_options(
314
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
315
+ ),
316
+ cast_to=RoleAssignment,
317
+ )
318
+
319
+ async def update(
320
+ self,
321
+ assignment_id: int,
322
+ *,
323
+ role: str,
324
+ user_id: int,
325
+ client_id: Optional[int] | NotGiven = NOT_GIVEN,
326
+ project_id: Optional[int] | NotGiven = NOT_GIVEN,
327
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
328
+ # The extra values given here take precedence over values defined on the client or passed to this method.
329
+ extra_headers: Headers | None = None,
330
+ extra_query: Query | None = None,
331
+ extra_body: Body | None = None,
332
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
333
+ ) -> RoleAssignmentUpdateDelete:
334
+ """
335
+ Modify role assignment to existing user
336
+
337
+ Args:
338
+ assignment_id: Assignment ID
339
+
340
+ role: User role
341
+
342
+ user_id: User ID
343
+
344
+ client_id: Client ID. Required if project_id is specified
345
+
346
+ project_id: Project ID
347
+
348
+ extra_headers: Send extra headers
349
+
350
+ extra_query: Add additional query parameters to the request
351
+
352
+ extra_body: Add additional JSON properties to the request
353
+
354
+ timeout: Override the client-level default timeout for this request, in seconds
355
+ """
356
+ return await self._patch(
357
+ f"/cloud/v1/users/assignments/{assignment_id}",
358
+ body=await async_maybe_transform(
359
+ {
360
+ "role": role,
361
+ "user_id": user_id,
362
+ "client_id": client_id,
363
+ "project_id": project_id,
364
+ },
365
+ role_assignment_update_params.RoleAssignmentUpdateParams,
366
+ ),
367
+ options=make_request_options(
368
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
369
+ ),
370
+ cast_to=RoleAssignmentUpdateDelete,
371
+ )
372
+
373
+ def list(
374
+ self,
375
+ *,
376
+ limit: int | NotGiven = NOT_GIVEN,
377
+ offset: int | NotGiven = NOT_GIVEN,
378
+ project_id: int | NotGiven = NOT_GIVEN,
379
+ user_id: int | NotGiven = NOT_GIVEN,
380
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
381
+ # The extra values given here take precedence over values defined on the client or passed to this method.
382
+ extra_headers: Headers | None = None,
383
+ extra_query: Query | None = None,
384
+ extra_body: Body | None = None,
385
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
386
+ ) -> AsyncPaginator[RoleAssignment, AsyncOffsetPage[RoleAssignment]]:
387
+ """List assignments
388
+
389
+ Args:
390
+ limit: Limit the number of returned items.
391
+
392
+ Falls back to default of 1000 if not
393
+ specified. Limited by max limit value of 1000
394
+
395
+ offset: Offset value is used to exclude the first set of records from the result
396
+
397
+ project_id: Project ID
398
+
399
+ user_id: User ID for filtering
400
+
401
+ extra_headers: Send extra headers
402
+
403
+ extra_query: Add additional query parameters to the request
404
+
405
+ extra_body: Add additional JSON properties to the request
406
+
407
+ timeout: Override the client-level default timeout for this request, in seconds
408
+ """
409
+ return self._get_api_list(
410
+ "/cloud/v1/users/assignments",
411
+ page=AsyncOffsetPage[RoleAssignment],
412
+ options=make_request_options(
413
+ extra_headers=extra_headers,
414
+ extra_query=extra_query,
415
+ extra_body=extra_body,
416
+ timeout=timeout,
417
+ query=maybe_transform(
418
+ {
419
+ "limit": limit,
420
+ "offset": offset,
421
+ "project_id": project_id,
422
+ "user_id": user_id,
423
+ },
424
+ role_assignment_list_params.RoleAssignmentListParams,
425
+ ),
426
+ ),
427
+ model=RoleAssignment,
428
+ )
429
+
430
+ async def delete(
431
+ self,
432
+ assignment_id: int,
433
+ *,
434
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
435
+ # The extra values given here take precedence over values defined on the client or passed to this method.
436
+ extra_headers: Headers | None = None,
437
+ extra_query: Query | None = None,
438
+ extra_body: Body | None = None,
439
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
440
+ ) -> RoleAssignmentUpdateDelete:
441
+ """
442
+ Delete role assignment
443
+
444
+ Args:
445
+ assignment_id: Assignment ID
446
+
447
+ extra_headers: Send extra headers
448
+
449
+ extra_query: Add additional query parameters to the request
450
+
451
+ extra_body: Add additional JSON properties to the request
452
+
453
+ timeout: Override the client-level default timeout for this request, in seconds
454
+ """
455
+ return await self._delete(
456
+ f"/cloud/v1/users/assignments/{assignment_id}",
457
+ options=make_request_options(
458
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
459
+ ),
460
+ cast_to=RoleAssignmentUpdateDelete,
461
+ )
462
+
463
+
464
+ class RoleAssignmentsResourceWithRawResponse:
465
+ def __init__(self, role_assignments: RoleAssignmentsResource) -> None:
466
+ self._role_assignments = role_assignments
467
+
468
+ self.create = to_raw_response_wrapper(
469
+ role_assignments.create,
470
+ )
471
+ self.update = to_raw_response_wrapper(
472
+ role_assignments.update,
473
+ )
474
+ self.list = to_raw_response_wrapper(
475
+ role_assignments.list,
476
+ )
477
+ self.delete = to_raw_response_wrapper(
478
+ role_assignments.delete,
479
+ )
480
+
481
+
482
+ class AsyncRoleAssignmentsResourceWithRawResponse:
483
+ def __init__(self, role_assignments: AsyncRoleAssignmentsResource) -> None:
484
+ self._role_assignments = role_assignments
485
+
486
+ self.create = async_to_raw_response_wrapper(
487
+ role_assignments.create,
488
+ )
489
+ self.update = async_to_raw_response_wrapper(
490
+ role_assignments.update,
491
+ )
492
+ self.list = async_to_raw_response_wrapper(
493
+ role_assignments.list,
494
+ )
495
+ self.delete = async_to_raw_response_wrapper(
496
+ role_assignments.delete,
497
+ )
498
+
499
+
500
+ class RoleAssignmentsResourceWithStreamingResponse:
501
+ def __init__(self, role_assignments: RoleAssignmentsResource) -> None:
502
+ self._role_assignments = role_assignments
503
+
504
+ self.create = to_streamed_response_wrapper(
505
+ role_assignments.create,
506
+ )
507
+ self.update = to_streamed_response_wrapper(
508
+ role_assignments.update,
509
+ )
510
+ self.list = to_streamed_response_wrapper(
511
+ role_assignments.list,
512
+ )
513
+ self.delete = to_streamed_response_wrapper(
514
+ role_assignments.delete,
515
+ )
516
+
517
+
518
+ class AsyncRoleAssignmentsResourceWithStreamingResponse:
519
+ def __init__(self, role_assignments: AsyncRoleAssignmentsResource) -> None:
520
+ self._role_assignments = role_assignments
521
+
522
+ self.create = async_to_streamed_response_wrapper(
523
+ role_assignments.create,
524
+ )
525
+ self.update = async_to_streamed_response_wrapper(
526
+ role_assignments.update,
527
+ )
528
+ self.list = async_to_streamed_response_wrapper(
529
+ role_assignments.list,
530
+ )
531
+ self.delete = async_to_streamed_response_wrapper(
532
+ role_assignments.delete,
533
+ )
@@ -0,0 +1,102 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from ...._compat import cached_property
6
+ from ...._resource import SyncAPIResource, AsyncAPIResource
7
+ from .role_assignments import (
8
+ RoleAssignmentsResource,
9
+ AsyncRoleAssignmentsResource,
10
+ RoleAssignmentsResourceWithRawResponse,
11
+ AsyncRoleAssignmentsResourceWithRawResponse,
12
+ RoleAssignmentsResourceWithStreamingResponse,
13
+ AsyncRoleAssignmentsResourceWithStreamingResponse,
14
+ )
15
+
16
+ __all__ = ["UsersResource", "AsyncUsersResource"]
17
+
18
+
19
+ class UsersResource(SyncAPIResource):
20
+ @cached_property
21
+ def role_assignments(self) -> RoleAssignmentsResource:
22
+ return RoleAssignmentsResource(self._client)
23
+
24
+ @cached_property
25
+ def with_raw_response(self) -> UsersResourceWithRawResponse:
26
+ """
27
+ This property can be used as a prefix for any HTTP method call to return
28
+ the raw response object instead of the parsed content.
29
+
30
+ For more information, see https://www.github.com/G-Core/gcore-python#accessing-raw-response-data-eg-headers
31
+ """
32
+ return UsersResourceWithRawResponse(self)
33
+
34
+ @cached_property
35
+ def with_streaming_response(self) -> UsersResourceWithStreamingResponse:
36
+ """
37
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
38
+
39
+ For more information, see https://www.github.com/G-Core/gcore-python#with_streaming_response
40
+ """
41
+ return UsersResourceWithStreamingResponse(self)
42
+
43
+
44
+ class AsyncUsersResource(AsyncAPIResource):
45
+ @cached_property
46
+ def role_assignments(self) -> AsyncRoleAssignmentsResource:
47
+ return AsyncRoleAssignmentsResource(self._client)
48
+
49
+ @cached_property
50
+ def with_raw_response(self) -> AsyncUsersResourceWithRawResponse:
51
+ """
52
+ This property can be used as a prefix for any HTTP method call to return
53
+ the raw response object instead of the parsed content.
54
+
55
+ For more information, see https://www.github.com/G-Core/gcore-python#accessing-raw-response-data-eg-headers
56
+ """
57
+ return AsyncUsersResourceWithRawResponse(self)
58
+
59
+ @cached_property
60
+ def with_streaming_response(self) -> AsyncUsersResourceWithStreamingResponse:
61
+ """
62
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
63
+
64
+ For more information, see https://www.github.com/G-Core/gcore-python#with_streaming_response
65
+ """
66
+ return AsyncUsersResourceWithStreamingResponse(self)
67
+
68
+
69
+ class UsersResourceWithRawResponse:
70
+ def __init__(self, users: UsersResource) -> None:
71
+ self._users = users
72
+
73
+ @cached_property
74
+ def role_assignments(self) -> RoleAssignmentsResourceWithRawResponse:
75
+ return RoleAssignmentsResourceWithRawResponse(self._users.role_assignments)
76
+
77
+
78
+ class AsyncUsersResourceWithRawResponse:
79
+ def __init__(self, users: AsyncUsersResource) -> None:
80
+ self._users = users
81
+
82
+ @cached_property
83
+ def role_assignments(self) -> AsyncRoleAssignmentsResourceWithRawResponse:
84
+ return AsyncRoleAssignmentsResourceWithRawResponse(self._users.role_assignments)
85
+
86
+
87
+ class UsersResourceWithStreamingResponse:
88
+ def __init__(self, users: UsersResource) -> None:
89
+ self._users = users
90
+
91
+ @cached_property
92
+ def role_assignments(self) -> RoleAssignmentsResourceWithStreamingResponse:
93
+ return RoleAssignmentsResourceWithStreamingResponse(self._users.role_assignments)
94
+
95
+
96
+ class AsyncUsersResourceWithStreamingResponse:
97
+ def __init__(self, users: AsyncUsersResource) -> None:
98
+ self._users = users
99
+
100
+ @cached_property
101
+ def role_assignments(self) -> AsyncRoleAssignmentsResourceWithStreamingResponse:
102
+ return AsyncRoleAssignmentsResourceWithStreamingResponse(self._users.role_assignments)