gcore 0.13.0__py3-none-any.whl → 0.15.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 (345) hide show
  1. gcore/__init__.py +3 -1
  2. gcore/_base_client.py +9 -9
  3. gcore/_client.py +25 -10
  4. gcore/_models.py +10 -4
  5. gcore/_qs.py +7 -7
  6. gcore/_types.py +18 -11
  7. gcore/_utils/_transform.py +2 -2
  8. gcore/_utils/_utils.py +4 -4
  9. gcore/_version.py +1 -1
  10. gcore/pagination.py +137 -0
  11. gcore/resources/__init__.py +14 -0
  12. gcore/resources/cdn/__init__.py +201 -0
  13. gcore/resources/cdn/audit_log.py +406 -0
  14. gcore/resources/cdn/cdn.py +957 -0
  15. gcore/resources/cdn/certificates.py +1062 -0
  16. gcore/resources/cdn/ip_ranges.py +224 -0
  17. gcore/resources/cdn/logs/__init__.py +33 -0
  18. gcore/resources/cdn/logs/logs.py +1424 -0
  19. gcore/resources/cdn/logs/settings.py +1081 -0
  20. gcore/resources/cdn/logs_uploader/__init__.py +61 -0
  21. gcore/resources/cdn/logs_uploader/configs.py +868 -0
  22. gcore/resources/cdn/logs_uploader/logs_uploader.py +166 -0
  23. gcore/resources/cdn/logs_uploader/policies.py +1060 -0
  24. gcore/resources/cdn/logs_uploader/targets.py +811 -0
  25. gcore/resources/cdn/metrics.py +419 -0
  26. gcore/resources/cdn/network_capacity.py +139 -0
  27. gcore/resources/cdn/origin_groups.py +1496 -0
  28. gcore/resources/cdn/resources/__init__.py +47 -0
  29. gcore/resources/cdn/resources/resources.py +2060 -0
  30. gcore/resources/cdn/resources/rules.py +1027 -0
  31. gcore/resources/cdn/resources/shield.py +259 -0
  32. gcore/resources/cdn/rule_templates.py +883 -0
  33. gcore/resources/cdn/shields.py +139 -0
  34. gcore/resources/cdn/statistics.py +1408 -0
  35. gcore/resources/cdn/trusted_ca_certificates.py +592 -0
  36. gcore/resources/cloud/audit_logs.py +33 -29
  37. gcore/resources/cloud/baremetal/flavors.py +21 -17
  38. gcore/resources/cloud/baremetal/images.py +19 -15
  39. gcore/resources/cloud/baremetal/servers.py +141 -119
  40. gcore/resources/cloud/billing_reservations.py +41 -33
  41. gcore/resources/cloud/cloud.py +24 -0
  42. gcore/resources/cloud/cost_reports.py +149 -119
  43. gcore/resources/cloud/file_shares/access_rules.py +25 -13
  44. gcore/resources/cloud/file_shares/file_shares.py +107 -71
  45. gcore/resources/cloud/floating_ips.py +101 -59
  46. gcore/resources/cloud/gpu_baremetal_clusters/flavors.py +13 -9
  47. gcore/resources/cloud/gpu_baremetal_clusters/gpu_baremetal_clusters.py +275 -65
  48. gcore/resources/cloud/gpu_baremetal_clusters/images.py +69 -53
  49. gcore/resources/cloud/gpu_baremetal_clusters/interfaces.py +9 -5
  50. gcore/resources/cloud/gpu_baremetal_clusters/servers.py +151 -127
  51. gcore/resources/cloud/inference/api_keys.py +51 -31
  52. gcore/resources/cloud/inference/applications/deployments.py +49 -31
  53. gcore/resources/cloud/inference/applications/templates.py +17 -9
  54. gcore/resources/cloud/inference/deployments/deployments.py +171 -139
  55. gcore/resources/cloud/inference/deployments/logs.py +17 -13
  56. gcore/resources/cloud/inference/flavors.py +21 -13
  57. gcore/resources/cloud/inference/inference.py +9 -5
  58. gcore/resources/cloud/inference/registry_credentials.py +45 -25
  59. gcore/resources/cloud/inference/secrets.py +45 -25
  60. gcore/resources/cloud/instances/flavors.py +17 -13
  61. gcore/resources/cloud/instances/images.py +153 -129
  62. gcore/resources/cloud/instances/instances.py +287 -213
  63. gcore/resources/cloud/instances/interfaces.py +165 -161
  64. gcore/resources/cloud/instances/metrics.py +9 -5
  65. gcore/resources/cloud/ip_ranges.py +25 -15
  66. gcore/resources/cloud/k8s/clusters/clusters.py +151 -87
  67. gcore/resources/cloud/k8s/clusters/nodes.py +19 -11
  68. gcore/resources/cloud/k8s/clusters/pools/nodes.py +19 -11
  69. gcore/resources/cloud/k8s/clusters/pools/pools.py +83 -59
  70. gcore/resources/cloud/k8s/flavors.py +13 -9
  71. gcore/resources/cloud/k8s/k8s.py +9 -5
  72. gcore/resources/cloud/load_balancers/flavors.py +11 -7
  73. gcore/resources/cloud/load_balancers/l7_policies/l7_policies.py +103 -83
  74. gcore/resources/cloud/load_balancers/l7_policies/rules.py +77 -57
  75. gcore/resources/cloud/load_balancers/listeners.py +125 -105
  76. gcore/resources/cloud/load_balancers/load_balancers.py +155 -123
  77. gcore/resources/cloud/load_balancers/metrics.py +9 -5
  78. gcore/resources/cloud/load_balancers/pools/health_monitors.py +25 -17
  79. gcore/resources/cloud/load_balancers/pools/members.py +31 -23
  80. gcore/resources/cloud/load_balancers/pools/pools.py +155 -129
  81. gcore/resources/cloud/load_balancers/statuses.py +17 -9
  82. gcore/resources/cloud/networks/networks.py +79 -55
  83. gcore/resources/cloud/networks/routers.py +75 -47
  84. gcore/resources/cloud/networks/subnets.py +109 -87
  85. gcore/resources/cloud/placement_groups.py +33 -17
  86. gcore/resources/cloud/projects.py +53 -41
  87. gcore/resources/cloud/quotas/quotas.py +25 -13
  88. gcore/resources/cloud/quotas/requests.py +41 -25
  89. gcore/resources/cloud/regions.py +25 -23
  90. gcore/resources/cloud/registries/artifacts.py +17 -9
  91. gcore/resources/cloud/registries/registries.py +55 -29
  92. gcore/resources/cloud/registries/repositories.py +17 -9
  93. gcore/resources/cloud/registries/tags.py +9 -5
  94. gcore/resources/cloud/registries/users.py +65 -35
  95. gcore/resources/cloud/reserved_fixed_ips/reserved_fixed_ips.py +233 -108
  96. gcore/resources/cloud/reserved_fixed_ips/vip.py +45 -25
  97. gcore/resources/cloud/secrets.py +43 -27
  98. gcore/resources/cloud/security_groups/rules.py +55 -43
  99. gcore/resources/cloud/security_groups/security_groups.py +79 -47
  100. gcore/resources/cloud/ssh_keys.py +51 -31
  101. gcore/resources/cloud/tasks.py +57 -45
  102. gcore/resources/cloud/usage_reports.py +27 -23
  103. gcore/resources/cloud/users/role_assignments.py +49 -33
  104. gcore/resources/cloud/volumes.py +237 -201
  105. gcore/resources/dns/dns.py +17 -13
  106. gcore/resources/dns/locations.py +29 -17
  107. gcore/resources/dns/metrics.py +13 -9
  108. gcore/resources/dns/pickers/pickers.py +5 -5
  109. gcore/resources/dns/pickers/presets.py +9 -5
  110. gcore/resources/dns/zones/dnssec.py +19 -11
  111. gcore/resources/dns/zones/rrsets.py +149 -91
  112. gcore/resources/dns/zones/zones.py +245 -187
  113. gcore/resources/fastedge/apps/apps.py +105 -89
  114. gcore/resources/fastedge/apps/logs.py +25 -21
  115. gcore/resources/fastedge/binaries.py +33 -17
  116. gcore/resources/fastedge/fastedge.py +5 -5
  117. gcore/resources/fastedge/kv_stores.py +43 -31
  118. gcore/resources/fastedge/secrets.py +69 -45
  119. gcore/resources/fastedge/statistics.py +25 -17
  120. gcore/resources/fastedge/templates.py +59 -39
  121. gcore/resources/iam/api_tokens.py +47 -29
  122. gcore/resources/iam/iam.py +5 -5
  123. gcore/resources/iam/users.py +97 -65
  124. gcore/resources/security/bgp_announces.py +27 -19
  125. gcore/resources/security/events.py +23 -19
  126. gcore/resources/security/profile_templates.py +9 -5
  127. gcore/resources/security/profiles.py +69 -45
  128. gcore/resources/storage/buckets/buckets.py +37 -25
  129. gcore/resources/storage/buckets/cors.py +19 -11
  130. gcore/resources/storage/buckets/lifecycle.py +19 -11
  131. gcore/resources/storage/buckets/policy.py +25 -13
  132. gcore/resources/storage/credentials.py +19 -15
  133. gcore/resources/storage/locations.py +13 -9
  134. gcore/resources/storage/statistics.py +39 -31
  135. gcore/resources/storage/storage.py +105 -69
  136. gcore/resources/streaming/ai_tasks.py +307 -197
  137. gcore/resources/streaming/broadcasts.py +63 -35
  138. gcore/resources/streaming/directories.py +65 -39
  139. gcore/resources/streaming/players.py +47 -31
  140. gcore/resources/streaming/playlists.py +189 -123
  141. gcore/resources/streaming/quality_sets.py +69 -39
  142. gcore/resources/streaming/restreams.py +47 -27
  143. gcore/resources/streaming/statistics.py +613 -407
  144. gcore/resources/streaming/streams/overlays.py +107 -67
  145. gcore/resources/streaming/streams/streams.py +403 -263
  146. gcore/resources/streaming/videos/subtitles.py +131 -75
  147. gcore/resources/streaming/videos/videos.py +429 -279
  148. gcore/resources/waap/advanced_rules.py +9 -5
  149. gcore/resources/waap/custom_page_sets.py +99 -75
  150. gcore/resources/waap/domains/advanced_rules.py +157 -99
  151. gcore/resources/waap/domains/api_discovery.py +71 -47
  152. gcore/resources/waap/domains/api_path_groups.py +9 -5
  153. gcore/resources/waap/domains/api_paths.py +79 -83
  154. gcore/resources/waap/domains/custom_rules.py +89 -59
  155. gcore/resources/waap/domains/domains.py +59 -41
  156. gcore/resources/waap/domains/firewall_rules.py +83 -55
  157. gcore/resources/waap/domains/insight_silences.py +59 -39
  158. gcore/resources/waap/domains/insights.py +39 -27
  159. gcore/resources/waap/domains/settings.py +21 -13
  160. gcore/resources/waap/domains/statistics.py +99 -75
  161. gcore/resources/waap/insights.py +23 -21
  162. gcore/resources/waap/ip_info/ip_info.py +65 -33
  163. gcore/resources/waap/ip_info/metrics.py +11 -7
  164. gcore/resources/waap/organizations.py +17 -13
  165. gcore/resources/waap/statistics.py +9 -5
  166. gcore/resources/waap/tags.py +17 -17
  167. gcore/resources/waap/waap.py +5 -5
  168. gcore/types/cdn/__init__.py +80 -0
  169. gcore/types/cdn/audit_log_list_params.py +73 -0
  170. gcore/types/cdn/ca_certificate.py +53 -0
  171. gcore/types/cdn/ca_certificate_list.py +10 -0
  172. gcore/types/cdn/cdn_account.py +86 -0
  173. gcore/types/cdn/cdn_account_limits.py +27 -0
  174. gcore/types/cdn/cdn_audit_log_entry.py +66 -0
  175. gcore/types/cdn/cdn_available_features.py +46 -0
  176. gcore/types/cdn/cdn_list_purge_statuses_params.py +67 -0
  177. gcore/types/cdn/cdn_log_entry.py +70 -0
  178. gcore/types/cdn/cdn_metrics.py +22 -0
  179. gcore/types/cdn/cdn_metrics_groups.py +13 -0
  180. gcore/types/cdn/cdn_metrics_values.py +19 -0
  181. gcore/types/cdn/cdn_resource.py +1997 -0
  182. gcore/types/cdn/cdn_resource_list.py +10 -0
  183. gcore/types/cdn/cdn_update_account_params.py +15 -0
  184. gcore/types/cdn/certificate_create_params.py +51 -0
  185. gcore/types/cdn/certificate_get_status_params.py +14 -0
  186. gcore/types/cdn/certificate_list_params.py +29 -0
  187. gcore/types/cdn/certificate_replace_params.py +39 -0
  188. gcore/types/cdn/log_download_params.py +279 -0
  189. gcore/types/cdn/log_list_params.py +273 -0
  190. gcore/types/cdn/logs/__init__.py +7 -0
  191. gcore/types/cdn/logs/log_settings.py +172 -0
  192. gcore/types/cdn/logs/setting_create_params.py +200 -0
  193. gcore/types/cdn/logs/setting_update_params.py +200 -0
  194. gcore/types/cdn/logs_aggregated_stats.py +23 -0
  195. gcore/types/cdn/logs_uploader/__init__.py +23 -0
  196. gcore/types/cdn/logs_uploader/config_create_params.py +32 -0
  197. gcore/types/cdn/logs_uploader/config_list_params.py +16 -0
  198. gcore/types/cdn/logs_uploader/config_replace_params.py +32 -0
  199. gcore/types/cdn/logs_uploader/config_update_params.py +32 -0
  200. gcore/types/cdn/logs_uploader/logs_uploader_config.py +51 -0
  201. gcore/types/cdn/logs_uploader/logs_uploader_config_list.py +10 -0
  202. gcore/types/cdn/logs_uploader/logs_uploader_policy.py +73 -0
  203. gcore/types/cdn/logs_uploader/logs_uploader_policy_list.py +10 -0
  204. gcore/types/cdn/logs_uploader/logs_uploader_target.py +236 -0
  205. gcore/types/cdn/logs_uploader/logs_uploader_target_list.py +10 -0
  206. gcore/types/cdn/logs_uploader/policy_create_params.py +61 -0
  207. gcore/types/cdn/logs_uploader/policy_list_fields_response.py +8 -0
  208. gcore/types/cdn/logs_uploader/policy_list_params.py +16 -0
  209. gcore/types/cdn/logs_uploader/policy_replace_params.py +61 -0
  210. gcore/types/cdn/logs_uploader/policy_update_params.py +61 -0
  211. gcore/types/cdn/logs_uploader/target_create_params.py +249 -0
  212. gcore/types/cdn/logs_uploader/target_list_params.py +16 -0
  213. gcore/types/cdn/logs_uploader/target_replace_params.py +249 -0
  214. gcore/types/cdn/logs_uploader/target_update_params.py +249 -0
  215. gcore/types/cdn/logs_uploader_validation.py +23 -0
  216. gcore/types/cdn/metric_list_params.py +168 -0
  217. gcore/types/cdn/network_capacity.py +22 -0
  218. gcore/types/cdn/origin_group_create_params.py +184 -0
  219. gcore/types/cdn/origin_group_list_params.py +24 -0
  220. gcore/types/cdn/origin_group_replace_params.py +190 -0
  221. gcore/types/cdn/origin_group_update_params.py +190 -0
  222. gcore/types/cdn/origin_groups.py +212 -0
  223. gcore/types/cdn/origin_groups_list.py +10 -0
  224. gcore/types/cdn/public_ip_list.py +15 -0
  225. gcore/types/cdn/public_network_list.py +15 -0
  226. gcore/types/cdn/purge_status.py +55 -0
  227. gcore/types/cdn/resource_aggregated_stats.py +80 -0
  228. gcore/types/cdn/resource_create_params.py +1845 -0
  229. gcore/types/cdn/resource_list_params.py +107 -0
  230. gcore/types/cdn/resource_prefetch_params.py +17 -0
  231. gcore/types/cdn/resource_purge_params.py +71 -0
  232. gcore/types/cdn/resource_replace_params.py +1823 -0
  233. gcore/types/cdn/resource_update_params.py +1814 -0
  234. gcore/types/cdn/resource_usage_stats.py +111 -0
  235. gcore/types/cdn/resources/__init__.py +11 -0
  236. gcore/types/cdn/resources/cdn_resource_rule.py +1715 -0
  237. gcore/types/cdn/resources/origin_shielding.py +15 -0
  238. gcore/types/cdn/resources/rule_create_params.py +1672 -0
  239. gcore/types/cdn/resources/rule_list_response.py +10 -0
  240. gcore/types/cdn/resources/rule_replace_params.py +1674 -0
  241. gcore/types/cdn/resources/rule_update_params.py +1674 -0
  242. gcore/types/cdn/resources/shield_replace_params.py +16 -0
  243. gcore/types/cdn/rule_template.py +1686 -0
  244. gcore/types/cdn/rule_template_create_params.py +1656 -0
  245. gcore/types/cdn/rule_template_list.py +10 -0
  246. gcore/types/cdn/rule_template_replace_params.py +1656 -0
  247. gcore/types/cdn/rule_template_update_params.py +1656 -0
  248. gcore/types/cdn/shield_aggregated_stats.py +23 -0
  249. gcore/types/cdn/shield_list_response.py +25 -0
  250. gcore/types/cdn/ssl_detail.py +62 -0
  251. gcore/types/cdn/ssl_detail_list.py +10 -0
  252. gcore/types/cdn/ssl_request_status.py +135 -0
  253. gcore/types/cdn/statistic_get_logs_usage_aggregated_params.py +42 -0
  254. gcore/types/cdn/statistic_get_logs_usage_series_params.py +35 -0
  255. gcore/types/cdn/statistic_get_resource_usage_aggregated_params.py +151 -0
  256. gcore/types/cdn/statistic_get_resource_usage_series_params.py +131 -0
  257. gcore/types/cdn/statistic_get_shield_usage_aggregated_params.py +42 -0
  258. gcore/types/cdn/statistic_get_shield_usage_series_params.py +25 -0
  259. gcore/types/cdn/trusted_ca_certificate_create_params.py +23 -0
  260. gcore/types/cdn/trusted_ca_certificate_list_params.py +29 -0
  261. gcore/types/cdn/trusted_ca_certificate_replace_params.py +15 -0
  262. gcore/types/cdn/usage_series_stats.py +31 -0
  263. gcore/types/cloud/__init__.py +2 -0
  264. gcore/types/cloud/file_share.py +4 -0
  265. gcore/types/cloud/file_share_create_params.py +20 -0
  266. gcore/types/cloud/file_share_update_params.py +40 -3
  267. gcore/types/cloud/floating_ip_update_params.py +3 -1
  268. gcore/types/cloud/gpu_baremetal_cluster_action_params.py +46 -0
  269. gcore/types/cloud/gpu_baremetal_clusters/gpu_baremetal_flavor.py +12 -0
  270. gcore/types/cloud/inference/inference_deployment.py +3 -1
  271. gcore/types/cloud/instance_create_params.py +3 -1
  272. gcore/types/cloud/k8s/cluster_create_params.py +46 -4
  273. gcore/types/cloud/k8s/cluster_update_params.py +60 -6
  274. gcore/types/cloud/k8s/clusters/pool_update_params.py +1 -1
  275. gcore/types/cloud/k8s/k8s_cluster.py +40 -3
  276. gcore/types/cloud/load_balancer_update_params.py +3 -1
  277. gcore/types/cloud/network_update_params.py +3 -1
  278. gcore/types/cloud/networks/subnet_update_params.py +3 -1
  279. gcore/types/cloud/quota_get_all_response.py +8 -8
  280. gcore/types/cloud/quota_get_by_region_response.py +8 -8
  281. gcore/types/cloud/quotas/request_create_params.py +4 -4
  282. gcore/types/cloud/quotas/request_get_response.py +4 -4
  283. gcore/types/cloud/quotas/request_list_response.py +4 -4
  284. gcore/types/cloud/registries/user_create_multiple_params.py +5 -3
  285. gcore/types/cloud/registries/user_create_params.py +5 -3
  286. gcore/types/cloud/registry_create_params.py +5 -3
  287. gcore/types/cloud/reserved_fixed_ip_update_params.py +16 -0
  288. gcore/types/cloud/security_group_update_params.py +3 -1
  289. gcore/types/cloud/ssh_key_created.py +6 -3
  290. gcore/types/cloud/volume_update_params.py +3 -1
  291. gcore/types/dns/zone_get_statistics_params.py +12 -9
  292. gcore/types/dns/zone_get_statistics_response.py +3 -1
  293. gcore/types/dns/zone_import_params.py +21 -15
  294. gcore/types/dns/zones/dns_output_rrset.py +7 -3
  295. gcore/types/iam/account_overview.py +31 -28
  296. gcore/types/iam/api_token.py +24 -24
  297. gcore/types/iam/api_token_create_params.py +2 -1
  298. gcore/types/iam/api_token_list.py +24 -24
  299. gcore/types/iam/user.py +7 -2
  300. gcore/types/iam/user_detailed.py +22 -17
  301. gcore/types/iam/user_invite.py +2 -4
  302. gcore/types/iam/user_invite_params.py +4 -1
  303. gcore/types/iam/user_update.py +22 -17
  304. gcore/types/iam/user_update_params.py +7 -2
  305. gcore/types/streaming/ai_contentmoderation_hardnudity.py +6 -4
  306. gcore/types/streaming/ai_contentmoderation_nsfw.py +6 -4
  307. gcore/types/streaming/ai_contentmoderation_softnudity.py +6 -4
  308. gcore/types/streaming/ai_contentmoderation_sport.py +6 -4
  309. gcore/types/streaming/ai_task.py +20 -11
  310. gcore/types/streaming/ai_task_create_params.py +20 -11
  311. gcore/types/streaming/ai_task_get_response.py +5 -4
  312. gcore/types/streaming/ai_task_list_params.py +11 -5
  313. gcore/types/streaming/clip.py +33 -22
  314. gcore/types/streaming/create_video_param.py +75 -43
  315. gcore/types/streaming/playlist.py +7 -5
  316. gcore/types/streaming/playlist_create_params.py +7 -5
  317. gcore/types/streaming/playlist_update_params.py +7 -5
  318. gcore/types/streaming/playlist_video.py +75 -43
  319. gcore/types/streaming/statistic_get_unique_viewers_cdn_params.py +7 -4
  320. gcore/types/streaming/stream.py +207 -136
  321. gcore/types/streaming/stream_create_clip_params.py +33 -22
  322. gcore/types/streaming/stream_create_params.py +41 -24
  323. gcore/types/streaming/stream_update_params.py +41 -24
  324. gcore/types/streaming/video.py +138 -76
  325. gcore/types/streaming/video_list_params.py +4 -2
  326. gcore/types/streaming/video_update_params.py +75 -43
  327. gcore/types/waap/domain_update_params.py +2 -2
  328. gcore/types/waap/domains/advanced_rule_create_params.py +26 -18
  329. gcore/types/waap/domains/advanced_rule_list_params.py +10 -7
  330. gcore/types/waap/domains/advanced_rule_update_params.py +22 -17
  331. gcore/types/waap/domains/api_path_create_params.py +0 -3
  332. gcore/types/waap/domains/api_path_update_params.py +1 -3
  333. gcore/types/waap/domains/custom_rule_create_params.py +36 -35
  334. gcore/types/waap/domains/custom_rule_update_params.py +31 -33
  335. gcore/types/waap/domains/firewall_rule_create_params.py +6 -6
  336. gcore/types/waap/domains/firewall_rule_update_params.py +5 -5
  337. gcore/types/waap/domains/waap_advanced_rule.py +17 -9
  338. gcore/types/waap/domains/waap_custom_rule.py +5 -2
  339. gcore/types/waap/domains/waap_firewall_rule.py +1 -1
  340. gcore/types/waap/domains/waap_insight.py +1 -1
  341. gcore/types/waap/insight_list_types_params.py +1 -1
  342. {gcore-0.13.0.dist-info → gcore-0.15.0.dist-info}/METADATA +1 -1
  343. {gcore-0.13.0.dist-info → gcore-0.15.0.dist-info}/RECORD +345 -224
  344. {gcore-0.13.0.dist-info → gcore-0.15.0.dist-info}/WHEEL +0 -0
  345. {gcore-0.13.0.dist-info → gcore-0.15.0.dist-info}/licenses/LICENSE +0 -0
@@ -6,7 +6,7 @@ from typing import Iterable, Optional
6
6
 
7
7
  import httpx
8
8
 
9
- from ...._types import NOT_GIVEN, Body, Query, Headers, NotGiven
9
+ from ...._types import Body, Omit, Query, Headers, NotGiven, omit, not_given
10
10
  from ...._utils import maybe_transform, async_maybe_transform
11
11
  from ...._compat import cached_property
12
12
  from ...._resource import SyncAPIResource, AsyncAPIResource
@@ -57,15 +57,15 @@ class RoutersResource(SyncAPIResource):
57
57
  project_id: int | None = None,
58
58
  region_id: int | None = None,
59
59
  name: str,
60
- external_gateway_info: Optional[router_create_params.ExternalGatewayInfo] | NotGiven = NOT_GIVEN,
61
- interfaces: Optional[Iterable[router_create_params.Interface]] | NotGiven = NOT_GIVEN,
62
- routes: Optional[Iterable[router_create_params.Route]] | NotGiven = NOT_GIVEN,
60
+ external_gateway_info: Optional[router_create_params.ExternalGatewayInfo] | Omit = omit,
61
+ interfaces: Optional[Iterable[router_create_params.Interface]] | Omit = omit,
62
+ routes: Optional[Iterable[router_create_params.Route]] | Omit = omit,
63
63
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
64
64
  # The extra values given here take precedence over values defined on the client or passed to this method.
65
65
  extra_headers: Headers | None = None,
66
66
  extra_query: Query | None = None,
67
67
  extra_body: Body | None = None,
68
- timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
68
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
69
69
  ) -> TaskIDList:
70
70
  """
71
71
  Create a new router with the specified configuration.
@@ -92,7 +92,9 @@ class RoutersResource(SyncAPIResource):
92
92
  if region_id is None:
93
93
  region_id = self._client._get_cloud_region_id_path_param()
94
94
  return self._post(
95
- f"/cloud/v1/routers/{project_id}/{region_id}",
95
+ f"/cloud/v1/routers/{project_id}/{region_id}"
96
+ if self._client._base_url_overridden
97
+ else f"https://api.gcore.com//cloud/v1/routers/{project_id}/{region_id}",
96
98
  body=maybe_transform(
97
99
  {
98
100
  "name": name,
@@ -114,15 +116,15 @@ class RoutersResource(SyncAPIResource):
114
116
  *,
115
117
  project_id: int | None = None,
116
118
  region_id: int | None = None,
117
- external_gateway_info: Optional[router_update_params.ExternalGatewayInfo] | NotGiven = NOT_GIVEN,
118
- name: Optional[str] | NotGiven = NOT_GIVEN,
119
- routes: Optional[Iterable[router_update_params.Route]] | NotGiven = NOT_GIVEN,
119
+ external_gateway_info: Optional[router_update_params.ExternalGatewayInfo] | Omit = omit,
120
+ name: Optional[str] | Omit = omit,
121
+ routes: Optional[Iterable[router_update_params.Route]] | Omit = omit,
120
122
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
121
123
  # The extra values given here take precedence over values defined on the client or passed to this method.
122
124
  extra_headers: Headers | None = None,
123
125
  extra_query: Query | None = None,
124
126
  extra_body: Body | None = None,
125
- timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
127
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
126
128
  ) -> Router:
127
129
  """
128
130
  Update the configuration of an existing router.
@@ -149,7 +151,9 @@ class RoutersResource(SyncAPIResource):
149
151
  if not router_id:
150
152
  raise ValueError(f"Expected a non-empty value for `router_id` but received {router_id!r}")
151
153
  return self._patch(
152
- f"/cloud/v1/routers/{project_id}/{region_id}/{router_id}",
154
+ f"/cloud/v1/routers/{project_id}/{region_id}/{router_id}"
155
+ if self._client._base_url_overridden
156
+ else f"https://api.gcore.com//cloud/v1/routers/{project_id}/{region_id}/{router_id}",
153
157
  body=maybe_transform(
154
158
  {
155
159
  "external_gateway_info": external_gateway_info,
@@ -169,14 +173,14 @@ class RoutersResource(SyncAPIResource):
169
173
  *,
170
174
  project_id: int | None = None,
171
175
  region_id: int | None = None,
172
- limit: int | NotGiven = NOT_GIVEN,
173
- offset: int | NotGiven = NOT_GIVEN,
176
+ limit: int | Omit = omit,
177
+ offset: int | Omit = omit,
174
178
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
175
179
  # The extra values given here take precedence over values defined on the client or passed to this method.
176
180
  extra_headers: Headers | None = None,
177
181
  extra_query: Query | None = None,
178
182
  extra_body: Body | None = None,
179
- timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
183
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
180
184
  ) -> SyncOffsetPage[Router]:
181
185
  """
182
186
  List all routers in the specified project and region.
@@ -199,7 +203,9 @@ class RoutersResource(SyncAPIResource):
199
203
  if region_id is None:
200
204
  region_id = self._client._get_cloud_region_id_path_param()
201
205
  return self._get_api_list(
202
- f"/cloud/v1/routers/{project_id}/{region_id}",
206
+ f"/cloud/v1/routers/{project_id}/{region_id}"
207
+ if self._client._base_url_overridden
208
+ else f"https://api.gcore.com//cloud/v1/routers/{project_id}/{region_id}",
203
209
  page=SyncOffsetPage[Router],
204
210
  options=make_request_options(
205
211
  extra_headers=extra_headers,
@@ -228,7 +234,7 @@ class RoutersResource(SyncAPIResource):
228
234
  extra_headers: Headers | None = None,
229
235
  extra_query: Query | None = None,
230
236
  extra_body: Body | None = None,
231
- timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
237
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
232
238
  ) -> TaskIDList:
233
239
  """
234
240
  Delete a specific router and all its associated resources.
@@ -249,7 +255,9 @@ class RoutersResource(SyncAPIResource):
249
255
  if not router_id:
250
256
  raise ValueError(f"Expected a non-empty value for `router_id` but received {router_id!r}")
251
257
  return self._delete(
252
- f"/cloud/v1/routers/{project_id}/{region_id}/{router_id}",
258
+ f"/cloud/v1/routers/{project_id}/{region_id}/{router_id}"
259
+ if self._client._base_url_overridden
260
+ else f"https://api.gcore.com//cloud/v1/routers/{project_id}/{region_id}/{router_id}",
253
261
  options=make_request_options(
254
262
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
255
263
  ),
@@ -263,13 +271,13 @@ class RoutersResource(SyncAPIResource):
263
271
  project_id: int | None = None,
264
272
  region_id: int | None = None,
265
273
  subnet_id: str,
266
- ip_address: str | NotGiven = NOT_GIVEN,
274
+ ip_address: str | Omit = omit,
267
275
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
268
276
  # The extra values given here take precedence over values defined on the client or passed to this method.
269
277
  extra_headers: Headers | None = None,
270
278
  extra_query: Query | None = None,
271
279
  extra_body: Body | None = None,
272
- timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
280
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
273
281
  ) -> Router:
274
282
  """
275
283
  Attach a subnet to an existing router.
@@ -301,7 +309,9 @@ class RoutersResource(SyncAPIResource):
301
309
  if not router_id:
302
310
  raise ValueError(f"Expected a non-empty value for `router_id` but received {router_id!r}")
303
311
  return self._post(
304
- f"/cloud/v1/routers/{project_id}/{region_id}/{router_id}/attach",
312
+ f"/cloud/v1/routers/{project_id}/{region_id}/{router_id}/attach"
313
+ if self._client._base_url_overridden
314
+ else f"https://api.gcore.com//cloud/v1/routers/{project_id}/{region_id}/{router_id}/attach",
305
315
  body=maybe_transform(
306
316
  {
307
317
  "subnet_id": subnet_id,
@@ -327,7 +337,7 @@ class RoutersResource(SyncAPIResource):
327
337
  extra_headers: Headers | None = None,
328
338
  extra_query: Query | None = None,
329
339
  extra_body: Body | None = None,
330
- timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
340
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
331
341
  ) -> Router:
332
342
  """
333
343
  Detach a subnet from an existing router.
@@ -350,7 +360,9 @@ class RoutersResource(SyncAPIResource):
350
360
  if not router_id:
351
361
  raise ValueError(f"Expected a non-empty value for `router_id` but received {router_id!r}")
352
362
  return self._post(
353
- f"/cloud/v1/routers/{project_id}/{region_id}/{router_id}/detach",
363
+ f"/cloud/v1/routers/{project_id}/{region_id}/{router_id}/detach"
364
+ if self._client._base_url_overridden
365
+ else f"https://api.gcore.com//cloud/v1/routers/{project_id}/{region_id}/{router_id}/detach",
354
366
  body=maybe_transform({"subnet_id": subnet_id}, router_detach_subnet_params.RouterDetachSubnetParams),
355
367
  options=make_request_options(
356
368
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
@@ -369,7 +381,7 @@ class RoutersResource(SyncAPIResource):
369
381
  extra_headers: Headers | None = None,
370
382
  extra_query: Query | None = None,
371
383
  extra_body: Body | None = None,
372
- timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
384
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
373
385
  ) -> Router:
374
386
  """
375
387
  Get detailed information about a specific router.
@@ -390,7 +402,9 @@ class RoutersResource(SyncAPIResource):
390
402
  if not router_id:
391
403
  raise ValueError(f"Expected a non-empty value for `router_id` but received {router_id!r}")
392
404
  return self._get(
393
- f"/cloud/v1/routers/{project_id}/{region_id}/{router_id}",
405
+ f"/cloud/v1/routers/{project_id}/{region_id}/{router_id}"
406
+ if self._client._base_url_overridden
407
+ else f"https://api.gcore.com//cloud/v1/routers/{project_id}/{region_id}/{router_id}",
394
408
  options=make_request_options(
395
409
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
396
410
  ),
@@ -424,15 +438,15 @@ class AsyncRoutersResource(AsyncAPIResource):
424
438
  project_id: int | None = None,
425
439
  region_id: int | None = None,
426
440
  name: str,
427
- external_gateway_info: Optional[router_create_params.ExternalGatewayInfo] | NotGiven = NOT_GIVEN,
428
- interfaces: Optional[Iterable[router_create_params.Interface]] | NotGiven = NOT_GIVEN,
429
- routes: Optional[Iterable[router_create_params.Route]] | NotGiven = NOT_GIVEN,
441
+ external_gateway_info: Optional[router_create_params.ExternalGatewayInfo] | Omit = omit,
442
+ interfaces: Optional[Iterable[router_create_params.Interface]] | Omit = omit,
443
+ routes: Optional[Iterable[router_create_params.Route]] | Omit = omit,
430
444
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
431
445
  # The extra values given here take precedence over values defined on the client or passed to this method.
432
446
  extra_headers: Headers | None = None,
433
447
  extra_query: Query | None = None,
434
448
  extra_body: Body | None = None,
435
- timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
449
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
436
450
  ) -> TaskIDList:
437
451
  """
438
452
  Create a new router with the specified configuration.
@@ -459,7 +473,9 @@ class AsyncRoutersResource(AsyncAPIResource):
459
473
  if region_id is None:
460
474
  region_id = self._client._get_cloud_region_id_path_param()
461
475
  return await self._post(
462
- f"/cloud/v1/routers/{project_id}/{region_id}",
476
+ f"/cloud/v1/routers/{project_id}/{region_id}"
477
+ if self._client._base_url_overridden
478
+ else f"https://api.gcore.com//cloud/v1/routers/{project_id}/{region_id}",
463
479
  body=await async_maybe_transform(
464
480
  {
465
481
  "name": name,
@@ -481,15 +497,15 @@ class AsyncRoutersResource(AsyncAPIResource):
481
497
  *,
482
498
  project_id: int | None = None,
483
499
  region_id: int | None = None,
484
- external_gateway_info: Optional[router_update_params.ExternalGatewayInfo] | NotGiven = NOT_GIVEN,
485
- name: Optional[str] | NotGiven = NOT_GIVEN,
486
- routes: Optional[Iterable[router_update_params.Route]] | NotGiven = NOT_GIVEN,
500
+ external_gateway_info: Optional[router_update_params.ExternalGatewayInfo] | Omit = omit,
501
+ name: Optional[str] | Omit = omit,
502
+ routes: Optional[Iterable[router_update_params.Route]] | Omit = omit,
487
503
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
488
504
  # The extra values given here take precedence over values defined on the client or passed to this method.
489
505
  extra_headers: Headers | None = None,
490
506
  extra_query: Query | None = None,
491
507
  extra_body: Body | None = None,
492
- timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
508
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
493
509
  ) -> Router:
494
510
  """
495
511
  Update the configuration of an existing router.
@@ -516,7 +532,9 @@ class AsyncRoutersResource(AsyncAPIResource):
516
532
  if not router_id:
517
533
  raise ValueError(f"Expected a non-empty value for `router_id` but received {router_id!r}")
518
534
  return await self._patch(
519
- f"/cloud/v1/routers/{project_id}/{region_id}/{router_id}",
535
+ f"/cloud/v1/routers/{project_id}/{region_id}/{router_id}"
536
+ if self._client._base_url_overridden
537
+ else f"https://api.gcore.com//cloud/v1/routers/{project_id}/{region_id}/{router_id}",
520
538
  body=await async_maybe_transform(
521
539
  {
522
540
  "external_gateway_info": external_gateway_info,
@@ -536,14 +554,14 @@ class AsyncRoutersResource(AsyncAPIResource):
536
554
  *,
537
555
  project_id: int | None = None,
538
556
  region_id: int | None = None,
539
- limit: int | NotGiven = NOT_GIVEN,
540
- offset: int | NotGiven = NOT_GIVEN,
557
+ limit: int | Omit = omit,
558
+ offset: int | Omit = omit,
541
559
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
542
560
  # The extra values given here take precedence over values defined on the client or passed to this method.
543
561
  extra_headers: Headers | None = None,
544
562
  extra_query: Query | None = None,
545
563
  extra_body: Body | None = None,
546
- timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
564
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
547
565
  ) -> AsyncPaginator[Router, AsyncOffsetPage[Router]]:
548
566
  """
549
567
  List all routers in the specified project and region.
@@ -566,7 +584,9 @@ class AsyncRoutersResource(AsyncAPIResource):
566
584
  if region_id is None:
567
585
  region_id = self._client._get_cloud_region_id_path_param()
568
586
  return self._get_api_list(
569
- f"/cloud/v1/routers/{project_id}/{region_id}",
587
+ f"/cloud/v1/routers/{project_id}/{region_id}"
588
+ if self._client._base_url_overridden
589
+ else f"https://api.gcore.com//cloud/v1/routers/{project_id}/{region_id}",
570
590
  page=AsyncOffsetPage[Router],
571
591
  options=make_request_options(
572
592
  extra_headers=extra_headers,
@@ -595,7 +615,7 @@ class AsyncRoutersResource(AsyncAPIResource):
595
615
  extra_headers: Headers | None = None,
596
616
  extra_query: Query | None = None,
597
617
  extra_body: Body | None = None,
598
- timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
618
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
599
619
  ) -> TaskIDList:
600
620
  """
601
621
  Delete a specific router and all its associated resources.
@@ -616,7 +636,9 @@ class AsyncRoutersResource(AsyncAPIResource):
616
636
  if not router_id:
617
637
  raise ValueError(f"Expected a non-empty value for `router_id` but received {router_id!r}")
618
638
  return await self._delete(
619
- f"/cloud/v1/routers/{project_id}/{region_id}/{router_id}",
639
+ f"/cloud/v1/routers/{project_id}/{region_id}/{router_id}"
640
+ if self._client._base_url_overridden
641
+ else f"https://api.gcore.com//cloud/v1/routers/{project_id}/{region_id}/{router_id}",
620
642
  options=make_request_options(
621
643
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
622
644
  ),
@@ -630,13 +652,13 @@ class AsyncRoutersResource(AsyncAPIResource):
630
652
  project_id: int | None = None,
631
653
  region_id: int | None = None,
632
654
  subnet_id: str,
633
- ip_address: str | NotGiven = NOT_GIVEN,
655
+ ip_address: str | Omit = omit,
634
656
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
635
657
  # The extra values given here take precedence over values defined on the client or passed to this method.
636
658
  extra_headers: Headers | None = None,
637
659
  extra_query: Query | None = None,
638
660
  extra_body: Body | None = None,
639
- timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
661
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
640
662
  ) -> Router:
641
663
  """
642
664
  Attach a subnet to an existing router.
@@ -668,7 +690,9 @@ class AsyncRoutersResource(AsyncAPIResource):
668
690
  if not router_id:
669
691
  raise ValueError(f"Expected a non-empty value for `router_id` but received {router_id!r}")
670
692
  return await self._post(
671
- f"/cloud/v1/routers/{project_id}/{region_id}/{router_id}/attach",
693
+ f"/cloud/v1/routers/{project_id}/{region_id}/{router_id}/attach"
694
+ if self._client._base_url_overridden
695
+ else f"https://api.gcore.com//cloud/v1/routers/{project_id}/{region_id}/{router_id}/attach",
672
696
  body=await async_maybe_transform(
673
697
  {
674
698
  "subnet_id": subnet_id,
@@ -694,7 +718,7 @@ class AsyncRoutersResource(AsyncAPIResource):
694
718
  extra_headers: Headers | None = None,
695
719
  extra_query: Query | None = None,
696
720
  extra_body: Body | None = None,
697
- timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
721
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
698
722
  ) -> Router:
699
723
  """
700
724
  Detach a subnet from an existing router.
@@ -717,7 +741,9 @@ class AsyncRoutersResource(AsyncAPIResource):
717
741
  if not router_id:
718
742
  raise ValueError(f"Expected a non-empty value for `router_id` but received {router_id!r}")
719
743
  return await self._post(
720
- f"/cloud/v1/routers/{project_id}/{region_id}/{router_id}/detach",
744
+ f"/cloud/v1/routers/{project_id}/{region_id}/{router_id}/detach"
745
+ if self._client._base_url_overridden
746
+ else f"https://api.gcore.com//cloud/v1/routers/{project_id}/{region_id}/{router_id}/detach",
721
747
  body=await async_maybe_transform(
722
748
  {"subnet_id": subnet_id}, router_detach_subnet_params.RouterDetachSubnetParams
723
749
  ),
@@ -738,7 +764,7 @@ class AsyncRoutersResource(AsyncAPIResource):
738
764
  extra_headers: Headers | None = None,
739
765
  extra_query: Query | None = None,
740
766
  extra_body: Body | None = None,
741
- timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
767
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
742
768
  ) -> Router:
743
769
  """
744
770
  Get detailed information about a specific router.
@@ -759,7 +785,9 @@ class AsyncRoutersResource(AsyncAPIResource):
759
785
  if not router_id:
760
786
  raise ValueError(f"Expected a non-empty value for `router_id` but received {router_id!r}")
761
787
  return await self._get(
762
- f"/cloud/v1/routers/{project_id}/{region_id}/{router_id}",
788
+ f"/cloud/v1/routers/{project_id}/{region_id}/{router_id}"
789
+ if self._client._base_url_overridden
790
+ else f"https://api.gcore.com//cloud/v1/routers/{project_id}/{region_id}/{router_id}",
763
791
  options=make_request_options(
764
792
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
765
793
  ),