gcore 0.1.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 (437) hide show
  1. gcore/__init__.py +89 -0
  2. gcore/_base_client.py +1943 -0
  3. gcore/_client.py +493 -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 +65 -0
  17. gcore/_utils/_reflection.py +42 -0
  18. gcore/_utils/_resources_proxy.py +24 -0
  19. gcore/_utils/_streams.py +12 -0
  20. gcore/_utils/_sync.py +86 -0
  21. gcore/_utils/_transform.py +447 -0
  22. gcore/_utils/_typing.py +151 -0
  23. gcore/_utils/_utils.py +422 -0
  24. gcore/_version.py +4 -0
  25. gcore/lib/.keep +4 -0
  26. gcore/lib/polling.py +19 -0
  27. gcore/pagination.py +70 -0
  28. gcore/py.typed +0 -0
  29. gcore/resources/__init__.py +33 -0
  30. gcore/resources/cloud/__init__.py +327 -0
  31. gcore/resources/cloud/baremetal/__init__.py +61 -0
  32. gcore/resources/cloud/baremetal/baremetal.py +166 -0
  33. gcore/resources/cloud/baremetal/flavors.py +371 -0
  34. gcore/resources/cloud/baremetal/images.py +238 -0
  35. gcore/resources/cloud/baremetal/servers.py +1042 -0
  36. gcore/resources/cloud/billing_reservations.py +386 -0
  37. gcore/resources/cloud/cloud.py +774 -0
  38. gcore/resources/cloud/file_shares/__init__.py +33 -0
  39. gcore/resources/cloud/file_shares/access_rules.py +434 -0
  40. gcore/resources/cloud/file_shares/file_shares.py +994 -0
  41. gcore/resources/cloud/floating_ips.py +765 -0
  42. gcore/resources/cloud/gpu_baremetal_clusters/__init__.py +75 -0
  43. gcore/resources/cloud/gpu_baremetal_clusters/flavors.py +211 -0
  44. gcore/resources/cloud/gpu_baremetal_clusters/gpu_baremetal_clusters.py +1493 -0
  45. gcore/resources/cloud/gpu_baremetal_clusters/images.py +785 -0
  46. gcore/resources/cloud/gpu_baremetal_clusters/interfaces.py +175 -0
  47. gcore/resources/cloud/gpu_baremetal_clusters/servers.py +1178 -0
  48. gcore/resources/cloud/inference/__init__.py +89 -0
  49. gcore/resources/cloud/inference/deployments/__init__.py +33 -0
  50. gcore/resources/cloud/inference/deployments/deployments.py +1493 -0
  51. gcore/resources/cloud/inference/deployments/logs.py +235 -0
  52. gcore/resources/cloud/inference/flavors.py +280 -0
  53. gcore/resources/cloud/inference/inference.py +295 -0
  54. gcore/resources/cloud/inference/models.py +289 -0
  55. gcore/resources/cloud/inference/registry_credentials.py +649 -0
  56. gcore/resources/cloud/inference/secrets.py +629 -0
  57. gcore/resources/cloud/instances/__init__.py +75 -0
  58. gcore/resources/cloud/instances/flavors.py +449 -0
  59. gcore/resources/cloud/instances/images.py +1297 -0
  60. gcore/resources/cloud/instances/instances.py +2821 -0
  61. gcore/resources/cloud/instances/interfaces.py +797 -0
  62. gcore/resources/cloud/instances/metrics.py +217 -0
  63. gcore/resources/cloud/ip_ranges.py +135 -0
  64. gcore/resources/cloud/load_balancers/__init__.py +103 -0
  65. gcore/resources/cloud/load_balancers/flavors.py +193 -0
  66. gcore/resources/cloud/load_balancers/l7_policies/__init__.py +33 -0
  67. gcore/resources/cloud/load_balancers/l7_policies/l7_policies.py +1020 -0
  68. gcore/resources/cloud/load_balancers/l7_policies/rules.py +1036 -0
  69. gcore/resources/cloud/load_balancers/listeners.py +1089 -0
  70. gcore/resources/cloud/load_balancers/load_balancers.py +1583 -0
  71. gcore/resources/cloud/load_balancers/metrics.py +205 -0
  72. gcore/resources/cloud/load_balancers/pools/__init__.py +47 -0
  73. gcore/resources/cloud/load_balancers/pools/health_monitors.py +352 -0
  74. gcore/resources/cloud/load_balancers/pools/members.py +353 -0
  75. gcore/resources/cloud/load_balancers/pools/pools.py +1190 -0
  76. gcore/resources/cloud/load_balancers/statuses.py +260 -0
  77. gcore/resources/cloud/networks/__init__.py +47 -0
  78. gcore/resources/cloud/networks/networks.py +771 -0
  79. gcore/resources/cloud/networks/routers.py +875 -0
  80. gcore/resources/cloud/networks/subnets.py +865 -0
  81. gcore/resources/cloud/placement_groups.py +465 -0
  82. gcore/resources/cloud/projects.py +608 -0
  83. gcore/resources/cloud/quotas/__init__.py +33 -0
  84. gcore/resources/cloud/quotas/quotas.py +335 -0
  85. gcore/resources/cloud/quotas/requests.py +482 -0
  86. gcore/resources/cloud/regions.py +328 -0
  87. gcore/resources/cloud/registries/__init__.py +75 -0
  88. gcore/resources/cloud/registries/artifacts.py +277 -0
  89. gcore/resources/cloud/registries/registries.py +688 -0
  90. gcore/resources/cloud/registries/repositories.py +265 -0
  91. gcore/resources/cloud/registries/tags.py +190 -0
  92. gcore/resources/cloud/registries/users.py +701 -0
  93. gcore/resources/cloud/reserved_fixed_ips/__init__.py +33 -0
  94. gcore/resources/cloud/reserved_fixed_ips/reserved_fixed_ips.py +965 -0
  95. gcore/resources/cloud/reserved_fixed_ips/vip.py +577 -0
  96. gcore/resources/cloud/secrets.py +797 -0
  97. gcore/resources/cloud/security_groups/__init__.py +33 -0
  98. gcore/resources/cloud/security_groups/rules.py +626 -0
  99. gcore/resources/cloud/security_groups/security_groups.py +863 -0
  100. gcore/resources/cloud/ssh_keys.py +635 -0
  101. gcore/resources/cloud/tasks.py +700 -0
  102. gcore/resources/cloud/users/__init__.py +33 -0
  103. gcore/resources/cloud/users/role_assignments.py +533 -0
  104. gcore/resources/cloud/users/users.py +102 -0
  105. gcore/resources/cloud/volumes.py +1710 -0
  106. gcore/resources/waap/__init__.py +33 -0
  107. gcore/resources/waap/domains/__init__.py +33 -0
  108. gcore/resources/waap/domains/domains.py +515 -0
  109. gcore/resources/waap/domains/settings.py +271 -0
  110. gcore/resources/waap/waap.py +102 -0
  111. gcore/types/__init__.py +3 -0
  112. gcore/types/cloud/__init__.py +199 -0
  113. gcore/types/cloud/allowed_address_pairs.py +15 -0
  114. gcore/types/cloud/aws_iam_data.py +13 -0
  115. gcore/types/cloud/aws_iam_data_param.py +15 -0
  116. gcore/types/cloud/baremetal/__init__.py +13 -0
  117. gcore/types/cloud/baremetal/baremetal_fixed_address.py +30 -0
  118. gcore/types/cloud/baremetal/baremetal_floating_address.py +15 -0
  119. gcore/types/cloud/baremetal/baremetal_server.py +178 -0
  120. gcore/types/cloud/baremetal/flavor_list_params.py +35 -0
  121. gcore/types/cloud/baremetal/flavor_list_suitable_params.py +22 -0
  122. gcore/types/cloud/baremetal/image_list_params.py +33 -0
  123. gcore/types/cloud/baremetal/server_create_params.py +370 -0
  124. gcore/types/cloud/baremetal/server_list_params.py +114 -0
  125. gcore/types/cloud/baremetal/server_rebuild_params.py +23 -0
  126. gcore/types/cloud/baremetal_flavor.py +58 -0
  127. gcore/types/cloud/baremetal_flavor_list.py +16 -0
  128. gcore/types/cloud/billing_reservation.py +153 -0
  129. gcore/types/cloud/billing_reservation_list_params.py +59 -0
  130. gcore/types/cloud/blackhole_port.py +66 -0
  131. gcore/types/cloud/capacity.py +13 -0
  132. gcore/types/cloud/console.py +18 -0
  133. gcore/types/cloud/container_probe.py +36 -0
  134. gcore/types/cloud/container_probe_config.py +16 -0
  135. gcore/types/cloud/container_probe_config_create_param.py +18 -0
  136. gcore/types/cloud/container_probe_create_param.py +38 -0
  137. gcore/types/cloud/container_probe_exec.py +12 -0
  138. gcore/types/cloud/container_probe_exec_create_param.py +13 -0
  139. gcore/types/cloud/container_probe_http_get.py +26 -0
  140. gcore/types/cloud/container_probe_http_get_create_param.py +25 -0
  141. gcore/types/cloud/container_probe_tcp_socket.py +10 -0
  142. gcore/types/cloud/container_probe_tcp_socket_create_param.py +12 -0
  143. gcore/types/cloud/container_scale.py +25 -0
  144. gcore/types/cloud/container_scale_trigger_rate.py +13 -0
  145. gcore/types/cloud/container_scale_trigger_sqs.py +33 -0
  146. gcore/types/cloud/container_scale_trigger_threshold.py +10 -0
  147. gcore/types/cloud/container_scale_triggers.py +36 -0
  148. gcore/types/cloud/ddos_profile.py +33 -0
  149. gcore/types/cloud/ddos_profile_field.py +31 -0
  150. gcore/types/cloud/ddos_profile_option_list.py +15 -0
  151. gcore/types/cloud/ddos_profile_status.py +13 -0
  152. gcore/types/cloud/ddos_profile_template.py +18 -0
  153. gcore/types/cloud/ddos_profile_template_field.py +23 -0
  154. gcore/types/cloud/deploy_status.py +13 -0
  155. gcore/types/cloud/file_share.py +111 -0
  156. gcore/types/cloud/file_share_create_params.py +104 -0
  157. gcore/types/cloud/file_share_list_params.py +24 -0
  158. gcore/types/cloud/file_share_resize_params.py +18 -0
  159. gcore/types/cloud/file_share_update_params.py +18 -0
  160. gcore/types/cloud/file_shares/__init__.py +7 -0
  161. gcore/types/cloud/file_shares/access_rule.py +21 -0
  162. gcore/types/cloud/file_shares/access_rule_create_params.py +21 -0
  163. gcore/types/cloud/file_shares/access_rule_list.py +16 -0
  164. gcore/types/cloud/fixed_address.py +38 -0
  165. gcore/types/cloud/fixed_address_short.py +24 -0
  166. gcore/types/cloud/flavor_hardware_description.py +27 -0
  167. gcore/types/cloud/floating_address.py +15 -0
  168. gcore/types/cloud/floating_ip.py +77 -0
  169. gcore/types/cloud/floating_ip_assign_params.py +20 -0
  170. gcore/types/cloud/floating_ip_create_params.py +40 -0
  171. gcore/types/cloud/floating_ip_detailed.py +222 -0
  172. gcore/types/cloud/floating_ip_list_params.py +35 -0
  173. gcore/types/cloud/floating_ip_status.py +7 -0
  174. gcore/types/cloud/gpu_baremetal_cluster.py +116 -0
  175. gcore/types/cloud/gpu_baremetal_cluster_create_params.py +155 -0
  176. gcore/types/cloud/gpu_baremetal_cluster_delete_params.py +28 -0
  177. gcore/types/cloud/gpu_baremetal_cluster_list_params.py +19 -0
  178. gcore/types/cloud/gpu_baremetal_cluster_rebuild_params.py +26 -0
  179. gcore/types/cloud/gpu_baremetal_cluster_resize_params.py +16 -0
  180. gcore/types/cloud/gpu_baremetal_cluster_server.py +200 -0
  181. gcore/types/cloud/gpu_baremetal_cluster_server_list.py +16 -0
  182. gcore/types/cloud/gpu_baremetal_clusters/__init__.py +9 -0
  183. gcore/types/cloud/gpu_baremetal_clusters/flavor_list_params.py +21 -0
  184. gcore/types/cloud/gpu_baremetal_clusters/image_upload_params.py +58 -0
  185. gcore/types/cloud/gpu_baremetal_clusters/server_attach_interface_params.py +253 -0
  186. gcore/types/cloud/gpu_baremetal_clusters/server_delete_params.py +21 -0
  187. gcore/types/cloud/gpu_baremetal_clusters/server_detach_interface_params.py +19 -0
  188. gcore/types/cloud/gpu_baremetal_flavor.py +133 -0
  189. gcore/types/cloud/gpu_baremetal_flavor_list.py +16 -0
  190. gcore/types/cloud/gpu_image.py +70 -0
  191. gcore/types/cloud/gpu_image_list.py +16 -0
  192. gcore/types/cloud/health_monitor.py +48 -0
  193. gcore/types/cloud/health_monitor_status.py +22 -0
  194. gcore/types/cloud/http_method.py +7 -0
  195. gcore/types/cloud/image.py +100 -0
  196. gcore/types/cloud/image_list.py +16 -0
  197. gcore/types/cloud/inference/__init__.py +25 -0
  198. gcore/types/cloud/inference/container.py +26 -0
  199. gcore/types/cloud/inference/deployment_create_params.py +222 -0
  200. gcore/types/cloud/inference/deployment_list_params.py +21 -0
  201. gcore/types/cloud/inference/deployment_update_params.py +215 -0
  202. gcore/types/cloud/inference/deployments/__init__.py +5 -0
  203. gcore/types/cloud/inference/deployments/log_list_params.py +28 -0
  204. gcore/types/cloud/inference/flavor_list_params.py +18 -0
  205. gcore/types/cloud/inference/inference.py +95 -0
  206. gcore/types/cloud/inference/inference_apikey_secret.py +15 -0
  207. gcore/types/cloud/inference/inference_flavor.py +34 -0
  208. gcore/types/cloud/inference/inference_log.py +21 -0
  209. gcore/types/cloud/inference/inference_registry_credential.py +19 -0
  210. gcore/types/cloud/inference/inference_registry_credential_full.py +22 -0
  211. gcore/types/cloud/inference/inference_secret.py +17 -0
  212. gcore/types/cloud/inference/mlcatalog_model_card.py +65 -0
  213. gcore/types/cloud/inference/mlcatalog_order_by_choices.py +7 -0
  214. gcore/types/cloud/inference/model_list_params.py +23 -0
  215. gcore/types/cloud/inference/registry_credential_create_params.py +24 -0
  216. gcore/types/cloud/inference/registry_credential_list_params.py +21 -0
  217. gcore/types/cloud/inference/registry_credential_replace_params.py +21 -0
  218. gcore/types/cloud/inference/secret_create_params.py +23 -0
  219. gcore/types/cloud/inference/secret_list_params.py +21 -0
  220. gcore/types/cloud/inference/secret_replace_params.py +20 -0
  221. gcore/types/cloud/inference_probes.py +19 -0
  222. gcore/types/cloud/ingress_opts_out.py +16 -0
  223. gcore/types/cloud/ingress_opts_param.py +18 -0
  224. gcore/types/cloud/instance.py +296 -0
  225. gcore/types/cloud/instance_action_params.py +32 -0
  226. gcore/types/cloud/instance_add_to_placement_group_params.py +16 -0
  227. gcore/types/cloud/instance_assign_security_group_params.py +28 -0
  228. gcore/types/cloud/instance_create_params.py +622 -0
  229. gcore/types/cloud/instance_delete_params.py +33 -0
  230. gcore/types/cloud/instance_get_console_params.py +16 -0
  231. gcore/types/cloud/instance_interface.py +40 -0
  232. gcore/types/cloud/instance_isolation.py +12 -0
  233. gcore/types/cloud/instance_list.py +16 -0
  234. gcore/types/cloud/instance_list_params.py +146 -0
  235. gcore/types/cloud/instance_metrics_time_unit.py +7 -0
  236. gcore/types/cloud/instance_resize_params.py +16 -0
  237. gcore/types/cloud/instance_unassign_security_group_params.py +28 -0
  238. gcore/types/cloud/instance_update_params.py +18 -0
  239. gcore/types/cloud/instances/__init__.py +19 -0
  240. gcore/types/cloud/instances/flavor_list_for_resize_params.py +16 -0
  241. gcore/types/cloud/instances/flavor_list_params.py +25 -0
  242. gcore/types/cloud/instances/flavor_list_suitable_params.py +56 -0
  243. gcore/types/cloud/instances/image_create_from_volume_params.py +53 -0
  244. gcore/types/cloud/instances/image_get_params.py +16 -0
  245. gcore/types/cloud/instances/image_list_params.py +33 -0
  246. gcore/types/cloud/instances/image_update_params.py +43 -0
  247. gcore/types/cloud/instances/image_upload_params.py +62 -0
  248. gcore/types/cloud/instances/instance_flavor.py +49 -0
  249. gcore/types/cloud/instances/instance_flavor_list.py +16 -0
  250. gcore/types/cloud/instances/interface_attach_params.py +253 -0
  251. gcore/types/cloud/instances/interface_detach_params.py +19 -0
  252. gcore/types/cloud/instances/metric_list_params.py +23 -0
  253. gcore/types/cloud/instances/metrics.py +52 -0
  254. gcore/types/cloud/instances/metrics_list.py +16 -0
  255. gcore/types/cloud/interface_ip_family.py +7 -0
  256. gcore/types/cloud/ip_assignment.py +13 -0
  257. gcore/types/cloud/ip_ranges.py +12 -0
  258. gcore/types/cloud/ip_version.py +7 -0
  259. gcore/types/cloud/laas_index_retention_policy.py +12 -0
  260. gcore/types/cloud/laas_index_retention_policy_param.py +13 -0
  261. gcore/types/cloud/lb_algorithm.py +7 -0
  262. gcore/types/cloud/lb_health_monitor_type.py +7 -0
  263. gcore/types/cloud/lb_listener_protocol.py +7 -0
  264. gcore/types/cloud/lb_pool_protocol.py +7 -0
  265. gcore/types/cloud/lb_session_persistence_type.py +7 -0
  266. gcore/types/cloud/listener_status.py +27 -0
  267. gcore/types/cloud/load_balancer.py +144 -0
  268. gcore/types/cloud/load_balancer_create_params.py +327 -0
  269. gcore/types/cloud/load_balancer_failover_params.py +16 -0
  270. gcore/types/cloud/load_balancer_flavor_detail.py +40 -0
  271. gcore/types/cloud/load_balancer_flavor_list.py +16 -0
  272. gcore/types/cloud/load_balancer_get_params.py +19 -0
  273. gcore/types/cloud/load_balancer_instance_role.py +7 -0
  274. gcore/types/cloud/load_balancer_l7_policy.py +86 -0
  275. gcore/types/cloud/load_balancer_l7_policy_list.py +16 -0
  276. gcore/types/cloud/load_balancer_l7_rule.py +72 -0
  277. gcore/types/cloud/load_balancer_l7_rule_list.py +16 -0
  278. gcore/types/cloud/load_balancer_list_params.py +53 -0
  279. gcore/types/cloud/load_balancer_listener_detail.py +97 -0
  280. gcore/types/cloud/load_balancer_listener_list.py +16 -0
  281. gcore/types/cloud/load_balancer_member_connectivity.py +7 -0
  282. gcore/types/cloud/load_balancer_metrics.py +32 -0
  283. gcore/types/cloud/load_balancer_metrics_list.py +16 -0
  284. gcore/types/cloud/load_balancer_operating_status.py +7 -0
  285. gcore/types/cloud/load_balancer_pool.py +87 -0
  286. gcore/types/cloud/load_balancer_pool_list.py +16 -0
  287. gcore/types/cloud/load_balancer_resize_params.py +16 -0
  288. gcore/types/cloud/load_balancer_statistics.py +22 -0
  289. gcore/types/cloud/load_balancer_status.py +38 -0
  290. gcore/types/cloud/load_balancer_status_list.py +16 -0
  291. gcore/types/cloud/load_balancer_update_params.py +43 -0
  292. gcore/types/cloud/load_balancers/__init__.py +15 -0
  293. gcore/types/cloud/load_balancers/flavor_list_params.py +16 -0
  294. gcore/types/cloud/load_balancers/l7_policies/__init__.py +6 -0
  295. gcore/types/cloud/load_balancers/l7_policies/rule_create_params.py +50 -0
  296. gcore/types/cloud/load_balancers/l7_policies/rule_replace_params.py +43 -0
  297. gcore/types/cloud/load_balancers/l7_policy_create_params.py +54 -0
  298. gcore/types/cloud/load_balancers/l7_policy_replace_params.py +51 -0
  299. gcore/types/cloud/load_balancers/listener_create_params.py +72 -0
  300. gcore/types/cloud/load_balancers/listener_get_params.py +16 -0
  301. gcore/types/cloud/load_balancers/listener_list_params.py +19 -0
  302. gcore/types/cloud/load_balancers/listener_update_params.py +55 -0
  303. gcore/types/cloud/load_balancers/metric_list_params.py +21 -0
  304. gcore/types/cloud/load_balancers/pool_create_params.py +141 -0
  305. gcore/types/cloud/load_balancers/pool_list_params.py +25 -0
  306. gcore/types/cloud/load_balancers/pool_update_params.py +139 -0
  307. gcore/types/cloud/load_balancers/pools/__init__.py +6 -0
  308. gcore/types/cloud/load_balancers/pools/health_monitor_create_params.py +49 -0
  309. gcore/types/cloud/load_balancers/pools/member_add_params.py +44 -0
  310. gcore/types/cloud/logging.py +22 -0
  311. gcore/types/cloud/member.py +47 -0
  312. gcore/types/cloud/member_status.py +24 -0
  313. gcore/types/cloud/network.py +79 -0
  314. gcore/types/cloud/network_create_params.py +36 -0
  315. gcore/types/cloud/network_details.py +80 -0
  316. gcore/types/cloud/network_interface.py +78 -0
  317. gcore/types/cloud/network_interface_list.py +16 -0
  318. gcore/types/cloud/network_list_params.py +41 -0
  319. gcore/types/cloud/network_update_params.py +18 -0
  320. gcore/types/cloud/networks/__init__.py +14 -0
  321. gcore/types/cloud/networks/router.py +83 -0
  322. gcore/types/cloud/networks/router_attach_subnet_params.py +24 -0
  323. gcore/types/cloud/networks/router_create_params.py +75 -0
  324. gcore/types/cloud/networks/router_detach_subnet_params.py +16 -0
  325. gcore/types/cloud/networks/router_list.py +16 -0
  326. gcore/types/cloud/networks/router_list_params.py +19 -0
  327. gcore/types/cloud/networks/router_update_params.py +45 -0
  328. gcore/types/cloud/networks/subnet_create_params.py +82 -0
  329. gcore/types/cloud/networks/subnet_list_params.py +58 -0
  330. gcore/types/cloud/networks/subnet_update_params.py +47 -0
  331. gcore/types/cloud/placement_group.py +41 -0
  332. gcore/types/cloud/placement_group_create_params.py +19 -0
  333. gcore/types/cloud/placement_group_list.py +16 -0
  334. gcore/types/cloud/pool_status.py +31 -0
  335. gcore/types/cloud/project.py +47 -0
  336. gcore/types/cloud/project_create_params.py +22 -0
  337. gcore/types/cloud/project_list_params.py +27 -0
  338. gcore/types/cloud/project_replace_params.py +18 -0
  339. gcore/types/cloud/provisioning_status.py +9 -0
  340. gcore/types/cloud/quota_get_all_response.py +340 -0
  341. gcore/types/cloud/quota_get_by_region_response.py +288 -0
  342. gcore/types/cloud/quota_get_global_response.py +51 -0
  343. gcore/types/cloud/quotas/__init__.py +8 -0
  344. gcore/types/cloud/quotas/request_create_params.py +193 -0
  345. gcore/types/cloud/quotas/request_get_response.py +205 -0
  346. gcore/types/cloud/quotas/request_list_params.py +22 -0
  347. gcore/types/cloud/quotas/request_list_response.py +205 -0
  348. gcore/types/cloud/region.py +101 -0
  349. gcore/types/cloud/region_capacity.py +16 -0
  350. gcore/types/cloud/region_capacity_list.py +16 -0
  351. gcore/types/cloud/region_get_params.py +18 -0
  352. gcore/types/cloud/region_list_params.py +31 -0
  353. gcore/types/cloud/registries/__init__.py +14 -0
  354. gcore/types/cloud/registries/registry_artifact.py +35 -0
  355. gcore/types/cloud/registries/registry_artifact_list.py +16 -0
  356. gcore/types/cloud/registries/registry_repository.py +30 -0
  357. gcore/types/cloud/registries/registry_repository_list.py +16 -0
  358. gcore/types/cloud/registries/registry_user.py +28 -0
  359. gcore/types/cloud/registries/registry_user_created.py +31 -0
  360. gcore/types/cloud/registries/registry_user_list.py +16 -0
  361. gcore/types/cloud/registries/user_create_multiple_params.py +36 -0
  362. gcore/types/cloud/registries/user_create_params.py +30 -0
  363. gcore/types/cloud/registries/user_update_params.py +21 -0
  364. gcore/types/cloud/registry.py +33 -0
  365. gcore/types/cloud/registry_create_params.py +24 -0
  366. gcore/types/cloud/registry_list.py +16 -0
  367. gcore/types/cloud/registry_resize_params.py +16 -0
  368. gcore/types/cloud/registry_tag.py +27 -0
  369. gcore/types/cloud/reserved_fixed_ip.py +98 -0
  370. gcore/types/cloud/reserved_fixed_ip_create_params.py +107 -0
  371. gcore/types/cloud/reserved_fixed_ip_list_params.py +47 -0
  372. gcore/types/cloud/reserved_fixed_ips/__init__.py +12 -0
  373. gcore/types/cloud/reserved_fixed_ips/candidate_port.py +26 -0
  374. gcore/types/cloud/reserved_fixed_ips/candidate_port_list.py +16 -0
  375. gcore/types/cloud/reserved_fixed_ips/connected_port.py +26 -0
  376. gcore/types/cloud/reserved_fixed_ips/connected_port_list.py +16 -0
  377. gcore/types/cloud/reserved_fixed_ips/ip_with_subnet.py +17 -0
  378. gcore/types/cloud/reserved_fixed_ips/vip_replace_connected_ports_params.py +17 -0
  379. gcore/types/cloud/reserved_fixed_ips/vip_toggle_params.py +16 -0
  380. gcore/types/cloud/reserved_fixed_ips/vip_update_connected_ports_params.py +17 -0
  381. gcore/types/cloud/route.py +16 -0
  382. gcore/types/cloud/secret.py +64 -0
  383. gcore/types/cloud/secret_create_params.py +66 -0
  384. gcore/types/cloud/secret_list_response.py +16 -0
  385. gcore/types/cloud/secret_upload_tls_certificate_params.py +39 -0
  386. gcore/types/cloud/security_group.py +45 -0
  387. gcore/types/cloud/security_group_copy_params.py +16 -0
  388. gcore/types/cloud/security_group_create_params.py +94 -0
  389. gcore/types/cloud/security_group_list_params.py +30 -0
  390. gcore/types/cloud/security_group_rule.py +83 -0
  391. gcore/types/cloud/security_group_update_params.py +83 -0
  392. gcore/types/cloud/security_groups/__init__.py +6 -0
  393. gcore/types/cloud/security_groups/rule_create_params.py +65 -0
  394. gcore/types/cloud/security_groups/rule_replace_params.py +72 -0
  395. gcore/types/cloud/session_persistence.py +22 -0
  396. gcore/types/cloud/ssh_key.py +39 -0
  397. gcore/types/cloud/ssh_key_create_params.py +31 -0
  398. gcore/types/cloud/ssh_key_created.py +53 -0
  399. gcore/types/cloud/ssh_key_list_params.py +21 -0
  400. gcore/types/cloud/ssh_key_update_params.py +15 -0
  401. gcore/types/cloud/subnet.py +87 -0
  402. gcore/types/cloud/tag.py +16 -0
  403. gcore/types/cloud/tag_update_map_param.py +10 -0
  404. gcore/types/cloud/task.py +191 -0
  405. gcore/types/cloud/task_acknowledge_all_params.py +16 -0
  406. gcore/types/cloud/task_id_list.py +12 -0
  407. gcore/types/cloud/task_list_params.py +104 -0
  408. gcore/types/cloud/users/__init__.py +9 -0
  409. gcore/types/cloud/users/role_assignment.py +33 -0
  410. gcore/types/cloud/users/role_assignment_create_params.py +22 -0
  411. gcore/types/cloud/users/role_assignment_list_params.py +25 -0
  412. gcore/types/cloud/users/role_assignment_update_delete.py +10 -0
  413. gcore/types/cloud/users/role_assignment_update_params.py +22 -0
  414. gcore/types/cloud/volume.py +141 -0
  415. gcore/types/cloud/volume_attach_to_instance_params.py +21 -0
  416. gcore/types/cloud/volume_change_type_params.py +18 -0
  417. gcore/types/cloud/volume_create_params.py +176 -0
  418. gcore/types/cloud/volume_delete_params.py +18 -0
  419. gcore/types/cloud/volume_detach_from_instance_params.py +18 -0
  420. gcore/types/cloud/volume_list_params.py +56 -0
  421. gcore/types/cloud/volume_resize_params.py +18 -0
  422. gcore/types/cloud/volume_update_params.py +18 -0
  423. gcore/types/waap/__init__.py +12 -0
  424. gcore/types/waap/domain_list_params.py +30 -0
  425. gcore/types/waap/domain_update_params.py +12 -0
  426. gcore/types/waap/domains/__init__.py +5 -0
  427. gcore/types/waap/domains/setting_update_params.py +41 -0
  428. gcore/types/waap/waap_api_urls.py +15 -0
  429. gcore/types/waap/waap_detailed_domain.py +37 -0
  430. gcore/types/waap/waap_domain_ddos_settings.py +31 -0
  431. gcore/types/waap/waap_domain_settings.py +15 -0
  432. gcore/types/waap/waap_domain_status.py +7 -0
  433. gcore/types/waap/waap_summary_domain.py +26 -0
  434. gcore-0.1.0.dist-info/METADATA +482 -0
  435. gcore-0.1.0.dist-info/RECORD +437 -0
  436. gcore-0.1.0.dist-info/WHEEL +4 -0
  437. gcore-0.1.0.dist-info/licenses/LICENSE +201 -0
@@ -0,0 +1,141 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Dict, List, Optional
4
+ from datetime import datetime
5
+ from typing_extensions import Literal
6
+
7
+ from pydantic import Field as FieldInfo
8
+
9
+ from .tag import Tag
10
+ from ..._models import BaseModel
11
+
12
+ __all__ = ["Volume", "Attachment", "LimiterStats"]
13
+
14
+
15
+ class Attachment(BaseModel):
16
+ attachment_id: str
17
+ """The unique identifier of the attachment object."""
18
+
19
+ volume_id: str
20
+ """The unique identifier of the attached volume."""
21
+
22
+ attached_at: Optional[datetime] = None
23
+ """The date and time when the attachment was created."""
24
+
25
+ device: Optional[str] = None
26
+ """The block device name inside the guest instance."""
27
+
28
+ flavor_id: Optional[str] = None
29
+ """The flavor ID of the instance."""
30
+
31
+ instance_name: Optional[str] = None
32
+ """The name of the instance if attached and the server name is known."""
33
+
34
+ server_id: Optional[str] = None
35
+ """The unique identifier of the instance."""
36
+
37
+
38
+ class LimiterStats(BaseModel):
39
+ iops_base_limit: int
40
+ """The sustained IOPS (Input/Output Operations Per Second) limit."""
41
+
42
+ iops_burst_limit: int
43
+ """The burst IOPS limit."""
44
+
45
+ m_bps_base_limit: int = FieldInfo(alias="MBps_base_limit")
46
+ """The sustained bandwidth limit in megabytes per second (MBps)."""
47
+
48
+ m_bps_burst_limit: int = FieldInfo(alias="MBps_burst_limit")
49
+ """The burst bandwidth limit in megabytes per second (MBps)."""
50
+
51
+
52
+ class Volume(BaseModel):
53
+ id: str
54
+ """The unique identifier of the volume."""
55
+
56
+ bootable: bool
57
+ """Indicates whether the volume is bootable."""
58
+
59
+ created_at: datetime
60
+ """The date and time when the volume was created."""
61
+
62
+ is_root_volume: bool
63
+ """Indicates whether this is a root volume."""
64
+
65
+ name: str
66
+ """The name of the volume."""
67
+
68
+ project_id: int
69
+ """Project ID."""
70
+
71
+ region: str
72
+ """The region where the volume is located."""
73
+
74
+ region_id: int
75
+ """The identifier of the region."""
76
+
77
+ size: int
78
+ """The size of the volume in gibibytes (GiB)."""
79
+
80
+ status: Literal[
81
+ "attaching",
82
+ "available",
83
+ "awaiting-transfer",
84
+ "backing-up",
85
+ "creating",
86
+ "deleting",
87
+ "detaching",
88
+ "downloading",
89
+ "error",
90
+ "error_backing-up",
91
+ "error_deleting",
92
+ "error_extending",
93
+ "error_restoring",
94
+ "extending",
95
+ "in-use",
96
+ "maintenance",
97
+ "reserved",
98
+ "restoring-backup",
99
+ "retyping",
100
+ "reverting",
101
+ "uploading",
102
+ ]
103
+ """The current status of the volume."""
104
+
105
+ tags: List[Tag]
106
+ """List of key-value tags associated with the resource.
107
+
108
+ A tag is a key-value pair that can be associated with a resource, enabling
109
+ efficient filtering and grouping for better organization and management. Some
110
+ tags are read-only and cannot be modified by the user. Tags are also integrated
111
+ with cost reports, allowing cost data to be filtered based on tag keys or
112
+ values.
113
+ """
114
+
115
+ volume_type: str
116
+ """The type of volume storage."""
117
+
118
+ attachments: Optional[List[Attachment]] = None
119
+ """List of attachments associated with the volume."""
120
+
121
+ creator_task_id: Optional[str] = None
122
+ """The ID of the task that created this volume."""
123
+
124
+ limiter_stats: Optional[LimiterStats] = None
125
+ """Schema representing the Quality of Service (QoS) parameters for a volume."""
126
+
127
+ snapshot_ids: Optional[List[str]] = None
128
+ """List of snapshot IDs associated with this volume."""
129
+
130
+ task_id: Optional[str] = None
131
+ """The UUID of the active task that currently holds a lock on the resource.
132
+
133
+ This lock prevents concurrent modifications to ensure consistency. If `null`,
134
+ the resource is not locked.
135
+ """
136
+
137
+ updated_at: Optional[datetime] = None
138
+ """The date and time when the volume was last updated."""
139
+
140
+ volume_image_metadata: Optional[Dict[str, str]] = None
141
+ """Image metadata for volumes created from an image."""
@@ -0,0 +1,21 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing_extensions import Required, TypedDict
6
+
7
+ __all__ = ["VolumeAttachToInstanceParams"]
8
+
9
+
10
+ class VolumeAttachToInstanceParams(TypedDict, total=False):
11
+ project_id: int
12
+ """Project ID"""
13
+
14
+ region_id: int
15
+ """Region ID"""
16
+
17
+ instance_id: Required[str]
18
+ """Instance ID."""
19
+
20
+ attachment_tag: str
21
+ """Block device attachment tag (not exposed in the normal tags)."""
@@ -0,0 +1,18 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing_extensions import Literal, Required, TypedDict
6
+
7
+ __all__ = ["VolumeChangeTypeParams"]
8
+
9
+
10
+ class VolumeChangeTypeParams(TypedDict, total=False):
11
+ project_id: int
12
+ """Project ID"""
13
+
14
+ region_id: int
15
+ """Region ID"""
16
+
17
+ volume_type: Required[Literal["ssd_hiiops", "standard"]]
18
+ """New volume type name"""
@@ -0,0 +1,176 @@
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 Union, Iterable
6
+ from typing_extensions import Literal, Required, TypeAlias, TypedDict
7
+
8
+ from .tag_update_map_param import TagUpdateMapParam
9
+
10
+ __all__ = [
11
+ "VolumeCreateParams",
12
+ "CreateVolumeFromImageSerializer",
13
+ "CreateVolumeFromSnapshotSerializer",
14
+ "CreateNewVolumeSerializer",
15
+ ]
16
+
17
+
18
+ class CreateVolumeFromImageSerializer(TypedDict, total=False):
19
+ project_id: int
20
+ """Project ID"""
21
+
22
+ region_id: int
23
+ """Region ID"""
24
+
25
+ image_id: Required[str]
26
+ """Image ID"""
27
+
28
+ name: Required[str]
29
+ """Volume name"""
30
+
31
+ size: Required[int]
32
+ """Volume size in GiB"""
33
+
34
+ source: Required[Literal["image"]]
35
+ """Volume source type"""
36
+
37
+ attachment_tag: str
38
+ """Block device attachment tag (not exposed in the user tags).
39
+
40
+ Only used in conjunction with instance_id_to_attach_to
41
+ """
42
+
43
+ instance_id_to_attach_to: str
44
+ """instance_id to attach newly-created volume to"""
45
+
46
+ lifecycle_policy_ids: Iterable[int]
47
+ """
48
+ List of lifecycle policy IDs (snapshot creation schedules) to associate with the
49
+ volume
50
+ """
51
+
52
+ tags: TagUpdateMapParam
53
+ """Key-value tags to associate with the resource.
54
+
55
+ A tag is a key-value pair that can be associated with a resource, enabling
56
+ efficient filtering and grouping for better organization and management. Some
57
+ tags are read-only and cannot be modified by the user. Tags are also integrated
58
+ with cost reports, allowing cost data to be filtered based on tag keys or
59
+ values.
60
+ """
61
+
62
+ type_name: Literal["cold", "ssd_hiiops", "ssd_local", "ssd_lowlatency", "standard", "ultra"]
63
+ """Volume type.
64
+
65
+ Defaults to `standard`. If not specified for source `snapshot`, volume type will
66
+ be derived from the snapshot volume.
67
+ """
68
+
69
+
70
+ class CreateVolumeFromSnapshotSerializer(TypedDict, total=False):
71
+ project_id: int
72
+ """Project ID"""
73
+
74
+ region_id: int
75
+ """Region ID"""
76
+
77
+ name: Required[str]
78
+ """Volume name"""
79
+
80
+ snapshot_id: Required[str]
81
+ """Snapshot ID"""
82
+
83
+ source: Required[Literal["snapshot"]]
84
+ """Volume source type"""
85
+
86
+ attachment_tag: str
87
+ """Block device attachment tag (not exposed in the user tags).
88
+
89
+ Only used in conjunction with instance_id_to_attach_to
90
+ """
91
+
92
+ instance_id_to_attach_to: str
93
+ """instance_id to attach newly-created volume to"""
94
+
95
+ lifecycle_policy_ids: Iterable[int]
96
+ """
97
+ List of lifecycle policy IDs (snapshot creation schedules) to associate with the
98
+ volume
99
+ """
100
+
101
+ size: int
102
+ """Volume size in GiB.
103
+
104
+ If specified, value must be equal to respective snapshot size
105
+ """
106
+
107
+ tags: TagUpdateMapParam
108
+ """Key-value tags to associate with the resource.
109
+
110
+ A tag is a key-value pair that can be associated with a resource, enabling
111
+ efficient filtering and grouping for better organization and management. Some
112
+ tags are read-only and cannot be modified by the user. Tags are also integrated
113
+ with cost reports, allowing cost data to be filtered based on tag keys or
114
+ values.
115
+ """
116
+
117
+ type_name: Literal["cold", "ssd_hiiops", "ssd_local", "ssd_lowlatency", "standard", "ultra"]
118
+ """Volume type.
119
+
120
+ Defaults to `standard`. If not specified for source `snapshot`, volume type will
121
+ be derived from the snapshot volume.
122
+ """
123
+
124
+
125
+ class CreateNewVolumeSerializer(TypedDict, total=False):
126
+ project_id: int
127
+ """Project ID"""
128
+
129
+ region_id: int
130
+ """Region ID"""
131
+
132
+ name: Required[str]
133
+ """Volume name"""
134
+
135
+ size: Required[int]
136
+ """Volume size in GiB"""
137
+
138
+ source: Required[Literal["new-volume"]]
139
+ """Volume source type"""
140
+
141
+ attachment_tag: str
142
+ """Block device attachment tag (not exposed in the user tags).
143
+
144
+ Only used in conjunction with instance_id_to_attach_to
145
+ """
146
+
147
+ instance_id_to_attach_to: str
148
+ """instance_id to attach newly-created volume to"""
149
+
150
+ lifecycle_policy_ids: Iterable[int]
151
+ """
152
+ List of lifecycle policy IDs (snapshot creation schedules) to associate with the
153
+ volume
154
+ """
155
+
156
+ tags: TagUpdateMapParam
157
+ """Key-value tags to associate with the resource.
158
+
159
+ A tag is a key-value pair that can be associated with a resource, enabling
160
+ efficient filtering and grouping for better organization and management. Some
161
+ tags are read-only and cannot be modified by the user. Tags are also integrated
162
+ with cost reports, allowing cost data to be filtered based on tag keys or
163
+ values.
164
+ """
165
+
166
+ type_name: Literal["cold", "ssd_hiiops", "ssd_local", "ssd_lowlatency", "standard", "ultra"]
167
+ """Volume type.
168
+
169
+ Defaults to `standard`. If not specified for source `snapshot`, volume type will
170
+ be derived from the snapshot volume.
171
+ """
172
+
173
+
174
+ VolumeCreateParams: TypeAlias = Union[
175
+ CreateVolumeFromImageSerializer, CreateVolumeFromSnapshotSerializer, CreateNewVolumeSerializer
176
+ ]
@@ -0,0 +1,18 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing_extensions import TypedDict
6
+
7
+ __all__ = ["VolumeDeleteParams"]
8
+
9
+
10
+ class VolumeDeleteParams(TypedDict, total=False):
11
+ project_id: int
12
+ """Project ID"""
13
+
14
+ region_id: int
15
+ """Region ID"""
16
+
17
+ snapshots: str
18
+ """Comma separated list of snapshot IDs to be deleted with the volume."""
@@ -0,0 +1,18 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing_extensions import Required, TypedDict
6
+
7
+ __all__ = ["VolumeDetachFromInstanceParams"]
8
+
9
+
10
+ class VolumeDetachFromInstanceParams(TypedDict, total=False):
11
+ project_id: int
12
+ """Project ID"""
13
+
14
+ region_id: int
15
+ """Region ID"""
16
+
17
+ instance_id: Required[str]
18
+ """Instance ID"""
@@ -0,0 +1,56 @@
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 List
6
+ from typing_extensions import TypedDict
7
+
8
+ __all__ = ["VolumeListParams"]
9
+
10
+
11
+ class VolumeListParams(TypedDict, total=False):
12
+ project_id: int
13
+ """Project ID"""
14
+
15
+ region_id: int
16
+ """Region ID"""
17
+
18
+ bootable: bool
19
+ """Filter by bootable field"""
20
+
21
+ cluster_id: str
22
+ """Filter volumes by k8s cluster ID"""
23
+
24
+ has_attachments: bool
25
+ """Filter by the presence of attachments"""
26
+
27
+ id_part: str
28
+ """Filter the volume list result by the ID part of the volume"""
29
+
30
+ instance_id: str
31
+ """Filter volumes by instance ID"""
32
+
33
+ limit: int
34
+ """Optional. Limit the number of returned items"""
35
+
36
+ name_part: str
37
+ """
38
+ Filter volumes by name_part inclusion in volume name.Any substring can be used
39
+ and volumes will be returned with names containing the substring.
40
+ """
41
+
42
+ offset: int
43
+ """Optional.
44
+
45
+ Offset value is used to exclude the first set of records from the result
46
+ """
47
+
48
+ tag_key: List[str]
49
+ """Optional. Filter by tag keys. ?tag_key=key1&tag_key=key2"""
50
+
51
+ tag_key_value: str
52
+ """Optional.
53
+
54
+ Filter by tag key-value pairs. curl -G --data-urlencode "tag_key_value={"key":
55
+ "value"}" --url "https://example.com/cloud/v1/resource/1/1"
56
+ """
@@ -0,0 +1,18 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing_extensions import Required, TypedDict
6
+
7
+ __all__ = ["VolumeResizeParams"]
8
+
9
+
10
+ class VolumeResizeParams(TypedDict, total=False):
11
+ project_id: int
12
+ """Project ID"""
13
+
14
+ region_id: int
15
+ """Region ID"""
16
+
17
+ size: Required[int]
18
+ """New volume size in GiB"""
@@ -0,0 +1,18 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing_extensions import Required, TypedDict
6
+
7
+ __all__ = ["VolumeUpdateParams"]
8
+
9
+
10
+ class VolumeUpdateParams(TypedDict, total=False):
11
+ project_id: int
12
+ """Project ID"""
13
+
14
+ region_id: int
15
+ """Region ID"""
16
+
17
+ name: Required[str]
18
+ """Name."""
@@ -0,0 +1,12 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from .waap_api_urls import WaapAPIURLs as WaapAPIURLs
6
+ from .domain_list_params import DomainListParams as DomainListParams
7
+ from .waap_domain_status import WaapDomainStatus as WaapDomainStatus
8
+ from .waap_summary_domain import WaapSummaryDomain as WaapSummaryDomain
9
+ from .domain_update_params import DomainUpdateParams as DomainUpdateParams
10
+ from .waap_detailed_domain import WaapDetailedDomain as WaapDetailedDomain
11
+ from .waap_domain_settings import WaapDomainSettings as WaapDomainSettings
12
+ from .waap_domain_ddos_settings import WaapDomainDDOSSettings as WaapDomainDDOSSettings
@@ -0,0 +1,30 @@
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 Iterable
6
+ from typing_extensions import Literal, TypedDict
7
+
8
+ from .waap_domain_status import WaapDomainStatus
9
+
10
+ __all__ = ["DomainListParams"]
11
+
12
+
13
+ class DomainListParams(TypedDict, total=False):
14
+ ids: Iterable[int]
15
+ """Filter domains based on their IDs"""
16
+
17
+ limit: int
18
+ """Number of items to return"""
19
+
20
+ name: str
21
+ """Filter domains based on the domain name. Supports '\\**' as a wildcard character"""
22
+
23
+ offset: int
24
+ """Number of items to skip"""
25
+
26
+ ordering: Literal["id", "name", "status", "created_at", "-id", "-name", "-status", "-created_at"]
27
+ """Sort the response by given field."""
28
+
29
+ status: WaapDomainStatus
30
+ """The different statuses a domain can have"""
@@ -0,0 +1,12 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing_extensions import Literal, TypedDict
6
+
7
+ __all__ = ["DomainUpdateParams"]
8
+
9
+
10
+ class DomainUpdateParams(TypedDict, total=False):
11
+ status: Literal["active", "monitor"]
12
+ """Domain statuses that can be used when updating a domain"""
@@ -0,0 +1,5 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from .setting_update_params import SettingUpdateParams as SettingUpdateParams
@@ -0,0 +1,41 @@
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 List
6
+ from typing_extensions import TypedDict
7
+
8
+ __all__ = ["SettingUpdateParams", "API", "DDOS"]
9
+
10
+
11
+ class SettingUpdateParams(TypedDict, total=False):
12
+ api: API
13
+ """Editable API settings of a domain"""
14
+
15
+ ddos: DDOS
16
+ """Editable DDoS settings for a domain."""
17
+
18
+
19
+ class API(TypedDict, total=False):
20
+ api_urls: List[str]
21
+ """The API URLs for a domain.
22
+
23
+ If your domain has a common base URL for all API paths, it can be set here
24
+ """
25
+
26
+
27
+ class DDOS(TypedDict, total=False):
28
+ burst_threshold: int
29
+ """The burst threshold detects sudden rises in traffic.
30
+
31
+ If it is met and the number of requests is at least five times the last 2-second
32
+ interval, DDoS protection will activate. Default is 1000.
33
+ """
34
+
35
+ global_threshold: int
36
+ """
37
+ The global threshold is responsible for identifying DDoS attacks with a slow
38
+ rise in traffic. If the threshold is met and the current number of requests is
39
+ at least double that of the previous 10-second window, DDoS protection will
40
+ activate. Default is 5000.
41
+ """
@@ -0,0 +1,15 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List, Optional
4
+
5
+ from ..._models import BaseModel
6
+
7
+ __all__ = ["WaapAPIURLs"]
8
+
9
+
10
+ class WaapAPIURLs(BaseModel):
11
+ api_urls: Optional[List[str]] = None
12
+ """The API URLs for a domain.
13
+
14
+ If your domain has a common base URL for all API paths, it can be set here
15
+ """
@@ -0,0 +1,37 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Dict, Optional
4
+ from datetime import datetime
5
+
6
+ from ..._models import BaseModel
7
+ from .waap_domain_status import WaapDomainStatus
8
+
9
+ __all__ = ["WaapDetailedDomain", "Quotas"]
10
+
11
+
12
+ class Quotas(BaseModel):
13
+ allowed: int
14
+ """The maximum allowed number of this resource"""
15
+
16
+ current: int
17
+ """The current number of this resource"""
18
+
19
+
20
+ class WaapDetailedDomain(BaseModel):
21
+ id: int
22
+ """The domain ID"""
23
+
24
+ created_at: datetime
25
+ """The date and time the domain was created in ISO 8601 format"""
26
+
27
+ custom_page_set: Optional[int] = None
28
+ """The ID of the custom page set"""
29
+
30
+ name: str
31
+ """The domain name"""
32
+
33
+ status: WaapDomainStatus
34
+ """The different statuses a domain can have"""
35
+
36
+ quotas: Optional[Dict[str, Quotas]] = None
37
+ """Domain level quotas"""
@@ -0,0 +1,31 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+
5
+ from ..._models import BaseModel
6
+
7
+ __all__ = ["WaapDomainDDOSSettings"]
8
+
9
+
10
+ class WaapDomainDDOSSettings(BaseModel):
11
+ burst_threshold: Optional[int] = None
12
+ """The burst threshold detects sudden rises in traffic.
13
+
14
+ If it is met and the number of requests is at least five times the last 2-second
15
+ interval, DDoS protection will activate. Default is 1000.
16
+ """
17
+
18
+ global_threshold: Optional[int] = None
19
+ """
20
+ The global threshold is responsible for identifying DDoS attacks with a slow
21
+ rise in traffic. If the threshold is met and the current number of requests is
22
+ at least double that of the previous 10-second window, DDoS protection will
23
+ activate. Default is 5000.
24
+ """
25
+
26
+ sub_second_threshold: Optional[int] = None
27
+ """
28
+ The sub-second threshold protects WAAP servers against attacks from traffic
29
+ bursts. When this threshold is reached, the DDoS mode will activate on the
30
+ affected WAAP server, not the whole WAAP cluster. Default is 50.
31
+ """