gcore 0.12.0__py3-none-any.whl → 0.14.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 (340) 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 +270 -52
  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 +105 -81
  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 +123 -107
  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 +247 -189
  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 +43 -27
  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 +70 -38
  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 +1977 -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 +1825 -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 +1803 -0
  233. gcore/types/cdn/resource_update_params.py +1794 -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 +1695 -0
  237. gcore/types/cdn/resources/origin_shielding.py +15 -0
  238. gcore/types/cdn/resources/rule_create_params.py +1652 -0
  239. gcore/types/cdn/resources/rule_list_response.py +10 -0
  240. gcore/types/cdn/resources/rule_replace_params.py +1654 -0
  241. gcore/types/cdn/resources/rule_update_params.py +1654 -0
  242. gcore/types/cdn/resources/shield_replace_params.py +16 -0
  243. gcore/types/cdn/rule_template.py +1666 -0
  244. gcore/types/cdn/rule_template_create_params.py +1636 -0
  245. gcore/types/cdn/rule_template_list.py +10 -0
  246. gcore/types/cdn/rule_template_replace_params.py +1636 -0
  247. gcore/types/cdn/rule_template_update_params.py +1636 -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.py +1 -1
  268. gcore/types/cloud/floating_ip_detailed.py +1 -1
  269. gcore/types/cloud/floating_ip_update_params.py +43 -0
  270. gcore/types/cloud/gpu_baremetal_cluster_action_params.py +46 -0
  271. gcore/types/cloud/inference/inference_deployment.py +3 -1
  272. gcore/types/cloud/instance_create_params.py +3 -1
  273. gcore/types/cloud/k8s/cluster_create_params.py +46 -4
  274. gcore/types/cloud/k8s/cluster_update_params.py +60 -6
  275. gcore/types/cloud/k8s/clusters/pool_update_params.py +1 -1
  276. gcore/types/cloud/k8s/k8s_cluster.py +40 -3
  277. gcore/types/cloud/load_balancer_update_params.py +3 -1
  278. gcore/types/cloud/network_update_params.py +3 -1
  279. gcore/types/cloud/networks/subnet_update_params.py +3 -1
  280. gcore/types/cloud/registries/user_create_multiple_params.py +5 -3
  281. gcore/types/cloud/registries/user_create_params.py +5 -3
  282. gcore/types/cloud/registry_create_params.py +5 -3
  283. gcore/types/cloud/security_group_update_params.py +3 -1
  284. gcore/types/cloud/ssh_key_created.py +6 -3
  285. gcore/types/cloud/volume_update_params.py +3 -1
  286. gcore/types/dns/zone_get_statistics_params.py +12 -9
  287. gcore/types/dns/zone_get_statistics_response.py +3 -1
  288. gcore/types/dns/zone_import_params.py +21 -15
  289. gcore/types/dns/zones/dns_output_rrset.py +7 -3
  290. gcore/types/iam/account_overview.py +7 -2
  291. gcore/types/iam/user.py +7 -2
  292. gcore/types/iam/user_detailed.py +7 -2
  293. gcore/types/iam/user_invite_params.py +4 -1
  294. gcore/types/iam/user_update.py +7 -2
  295. gcore/types/iam/user_update_params.py +7 -2
  296. gcore/types/streaming/ai_contentmoderation_hardnudity.py +6 -4
  297. gcore/types/streaming/ai_contentmoderation_nsfw.py +6 -4
  298. gcore/types/streaming/ai_contentmoderation_softnudity.py +6 -4
  299. gcore/types/streaming/ai_contentmoderation_sport.py +6 -4
  300. gcore/types/streaming/ai_task.py +20 -11
  301. gcore/types/streaming/ai_task_create_params.py +20 -11
  302. gcore/types/streaming/ai_task_get_response.py +5 -4
  303. gcore/types/streaming/ai_task_list_params.py +11 -5
  304. gcore/types/streaming/clip.py +33 -22
  305. gcore/types/streaming/create_video_param.py +75 -43
  306. gcore/types/streaming/playlist.py +7 -5
  307. gcore/types/streaming/playlist_create_params.py +7 -5
  308. gcore/types/streaming/playlist_update_params.py +7 -5
  309. gcore/types/streaming/playlist_video.py +75 -43
  310. gcore/types/streaming/statistic_get_unique_viewers_cdn_params.py +7 -4
  311. gcore/types/streaming/stream.py +207 -136
  312. gcore/types/streaming/stream_create_clip_params.py +33 -22
  313. gcore/types/streaming/stream_create_params.py +41 -24
  314. gcore/types/streaming/stream_update_params.py +41 -24
  315. gcore/types/streaming/video.py +138 -76
  316. gcore/types/streaming/video_list_params.py +4 -2
  317. gcore/types/streaming/video_update_params.py +75 -43
  318. gcore/types/waap/__init__.py +2 -1
  319. gcore/types/waap/domain_update_params.py +2 -2
  320. gcore/types/waap/domains/advanced_rule_create_params.py +26 -18
  321. gcore/types/waap/domains/advanced_rule_list_params.py +10 -7
  322. gcore/types/waap/domains/advanced_rule_update_params.py +22 -17
  323. gcore/types/waap/domains/api_path_create_params.py +0 -3
  324. gcore/types/waap/domains/api_path_update_params.py +1 -3
  325. gcore/types/waap/domains/custom_rule_create_params.py +36 -35
  326. gcore/types/waap/domains/custom_rule_update_params.py +31 -33
  327. gcore/types/waap/domains/firewall_rule_create_params.py +6 -6
  328. gcore/types/waap/domains/firewall_rule_update_params.py +5 -5
  329. gcore/types/waap/domains/waap_advanced_rule.py +17 -9
  330. gcore/types/waap/domains/waap_custom_rule.py +5 -2
  331. gcore/types/waap/domains/waap_firewall_rule.py +1 -1
  332. gcore/types/waap/domains/waap_insight.py +1 -1
  333. gcore/types/waap/insight_list_types_params.py +1 -1
  334. gcore/types/waap/ip_info_get_top_urls_response.py +3 -12
  335. gcore/types/waap/{ip_info_get_ip_info_response.py → waap_ip_info.py} +2 -2
  336. gcore/types/waap/waap_top_url.py +13 -0
  337. {gcore-0.12.0.dist-info → gcore-0.14.0.dist-info}/METADATA +1 -1
  338. {gcore-0.12.0.dist-info → gcore-0.14.0.dist-info}/RECORD +340 -218
  339. {gcore-0.12.0.dist-info → gcore-0.14.0.dist-info}/WHEEL +0 -0
  340. {gcore-0.12.0.dist-info → gcore-0.14.0.dist-info}/licenses/LICENSE +0 -0
@@ -7,7 +7,7 @@ from typing_extensions import Literal
7
7
 
8
8
  import httpx
9
9
 
10
- from ...._types import NOT_GIVEN, Body, Query, Headers, NoneType, NotGiven
10
+ from ...._types import Body, Omit, Query, Headers, NoneType, NotGiven, omit, not_given
11
11
  from ...._utils import maybe_transform, async_maybe_transform
12
12
  from ...._compat import cached_property
13
13
  from ...._resource import SyncAPIResource, AsyncAPIResource
@@ -50,11 +50,11 @@ class RulesResource(SyncAPIResource):
50
50
  *,
51
51
  project_id: int | None = None,
52
52
  region_id: int | None = None,
53
- description: str | NotGiven = NOT_GIVEN,
54
- direction: Literal["egress", "ingress"] | NotGiven = NOT_GIVEN,
55
- ethertype: Literal["IPv4", "IPv6"] | NotGiven = NOT_GIVEN,
56
- port_range_max: Optional[int] | NotGiven = NOT_GIVEN,
57
- port_range_min: Optional[int] | NotGiven = NOT_GIVEN,
53
+ description: str | Omit = omit,
54
+ direction: Literal["egress", "ingress"] | Omit = omit,
55
+ ethertype: Literal["IPv4", "IPv6"] | Omit = omit,
56
+ port_range_max: Optional[int] | Omit = omit,
57
+ port_range_min: Optional[int] | Omit = omit,
58
58
  protocol: Literal[
59
59
  "ah",
60
60
  "any",
@@ -81,15 +81,15 @@ class RulesResource(SyncAPIResource):
81
81
  "udplite",
82
82
  "vrrp",
83
83
  ]
84
- | NotGiven = NOT_GIVEN,
85
- remote_group_id: str | NotGiven = NOT_GIVEN,
86
- remote_ip_prefix: Optional[str] | NotGiven = NOT_GIVEN,
84
+ | Omit = omit,
85
+ remote_group_id: str | Omit = omit,
86
+ remote_ip_prefix: Optional[str] | Omit = omit,
87
87
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
88
88
  # The extra values given here take precedence over values defined on the client or passed to this method.
89
89
  extra_headers: Headers | None = None,
90
90
  extra_query: Query | None = None,
91
91
  extra_body: Body | None = None,
92
- timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
92
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
93
93
  ) -> SecurityGroupRule:
94
94
  """
95
95
  Add a new rule to an existing security group.
@@ -126,7 +126,9 @@ class RulesResource(SyncAPIResource):
126
126
  if not group_id:
127
127
  raise ValueError(f"Expected a non-empty value for `group_id` but received {group_id!r}")
128
128
  return self._post(
129
- f"/cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}/rules",
129
+ f"/cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}/rules"
130
+ if self._client._base_url_overridden
131
+ else f"https://api.gcore.com//cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}/rules",
130
132
  body=maybe_transform(
131
133
  {
132
134
  "description": description,
@@ -157,7 +159,7 @@ class RulesResource(SyncAPIResource):
157
159
  extra_headers: Headers | None = None,
158
160
  extra_query: Query | None = None,
159
161
  extra_body: Body | None = None,
160
- timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
162
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
161
163
  ) -> None:
162
164
  """
163
165
  Delete a specific rule from a security group.
@@ -179,7 +181,9 @@ class RulesResource(SyncAPIResource):
179
181
  raise ValueError(f"Expected a non-empty value for `rule_id` but received {rule_id!r}")
180
182
  extra_headers = {"Accept": "*/*", **(extra_headers or {})}
181
183
  return self._delete(
182
- f"/cloud/v1/securitygrouprules/{project_id}/{region_id}/{rule_id}",
184
+ f"/cloud/v1/securitygrouprules/{project_id}/{region_id}/{rule_id}"
185
+ if self._client._base_url_overridden
186
+ else f"https://api.gcore.com//cloud/v1/securitygrouprules/{project_id}/{region_id}/{rule_id}",
183
187
  options=make_request_options(
184
188
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
185
189
  ),
@@ -194,10 +198,10 @@ class RulesResource(SyncAPIResource):
194
198
  region_id: int | None = None,
195
199
  direction: Literal["egress", "ingress"],
196
200
  security_group_id: str,
197
- description: str | NotGiven = NOT_GIVEN,
198
- ethertype: Optional[Literal["IPv4", "IPv6"]] | NotGiven = NOT_GIVEN,
199
- port_range_max: Optional[int] | NotGiven = NOT_GIVEN,
200
- port_range_min: Optional[int] | NotGiven = NOT_GIVEN,
201
+ description: str | Omit = omit,
202
+ ethertype: Optional[Literal["IPv4", "IPv6"]] | Omit = omit,
203
+ port_range_max: Optional[int] | Omit = omit,
204
+ port_range_min: Optional[int] | Omit = omit,
201
205
  protocol: Literal[
202
206
  "ah",
203
207
  "any",
@@ -224,15 +228,15 @@ class RulesResource(SyncAPIResource):
224
228
  "udplite",
225
229
  "vrrp",
226
230
  ]
227
- | NotGiven = NOT_GIVEN,
228
- remote_group_id: Optional[str] | NotGiven = NOT_GIVEN,
229
- remote_ip_prefix: Optional[str] | NotGiven = NOT_GIVEN,
231
+ | Omit = omit,
232
+ remote_group_id: Optional[str] | Omit = omit,
233
+ remote_ip_prefix: Optional[str] | Omit = omit,
230
234
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
231
235
  # The extra values given here take precedence over values defined on the client or passed to this method.
232
236
  extra_headers: Headers | None = None,
233
237
  extra_query: Query | None = None,
234
238
  extra_body: Body | None = None,
235
- timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
239
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
236
240
  ) -> SecurityGroupRule:
237
241
  """
238
242
  Update the configuration of an existing security group rule.
@@ -273,7 +277,9 @@ class RulesResource(SyncAPIResource):
273
277
  if not rule_id:
274
278
  raise ValueError(f"Expected a non-empty value for `rule_id` but received {rule_id!r}")
275
279
  return self._put(
276
- f"/cloud/v1/securitygrouprules/{project_id}/{region_id}/{rule_id}",
280
+ f"/cloud/v1/securitygrouprules/{project_id}/{region_id}/{rule_id}"
281
+ if self._client._base_url_overridden
282
+ else f"https://api.gcore.com//cloud/v1/securitygrouprules/{project_id}/{region_id}/{rule_id}",
277
283
  body=maybe_transform(
278
284
  {
279
285
  "direction": direction,
@@ -321,11 +327,11 @@ class AsyncRulesResource(AsyncAPIResource):
321
327
  *,
322
328
  project_id: int | None = None,
323
329
  region_id: int | None = None,
324
- description: str | NotGiven = NOT_GIVEN,
325
- direction: Literal["egress", "ingress"] | NotGiven = NOT_GIVEN,
326
- ethertype: Literal["IPv4", "IPv6"] | NotGiven = NOT_GIVEN,
327
- port_range_max: Optional[int] | NotGiven = NOT_GIVEN,
328
- port_range_min: Optional[int] | NotGiven = NOT_GIVEN,
330
+ description: str | Omit = omit,
331
+ direction: Literal["egress", "ingress"] | Omit = omit,
332
+ ethertype: Literal["IPv4", "IPv6"] | Omit = omit,
333
+ port_range_max: Optional[int] | Omit = omit,
334
+ port_range_min: Optional[int] | Omit = omit,
329
335
  protocol: Literal[
330
336
  "ah",
331
337
  "any",
@@ -352,15 +358,15 @@ class AsyncRulesResource(AsyncAPIResource):
352
358
  "udplite",
353
359
  "vrrp",
354
360
  ]
355
- | NotGiven = NOT_GIVEN,
356
- remote_group_id: str | NotGiven = NOT_GIVEN,
357
- remote_ip_prefix: Optional[str] | NotGiven = NOT_GIVEN,
361
+ | Omit = omit,
362
+ remote_group_id: str | Omit = omit,
363
+ remote_ip_prefix: Optional[str] | Omit = omit,
358
364
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
359
365
  # The extra values given here take precedence over values defined on the client or passed to this method.
360
366
  extra_headers: Headers | None = None,
361
367
  extra_query: Query | None = None,
362
368
  extra_body: Body | None = None,
363
- timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
369
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
364
370
  ) -> SecurityGroupRule:
365
371
  """
366
372
  Add a new rule to an existing security group.
@@ -397,7 +403,9 @@ class AsyncRulesResource(AsyncAPIResource):
397
403
  if not group_id:
398
404
  raise ValueError(f"Expected a non-empty value for `group_id` but received {group_id!r}")
399
405
  return await self._post(
400
- f"/cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}/rules",
406
+ f"/cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}/rules"
407
+ if self._client._base_url_overridden
408
+ else f"https://api.gcore.com//cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}/rules",
401
409
  body=await async_maybe_transform(
402
410
  {
403
411
  "description": description,
@@ -428,7 +436,7 @@ class AsyncRulesResource(AsyncAPIResource):
428
436
  extra_headers: Headers | None = None,
429
437
  extra_query: Query | None = None,
430
438
  extra_body: Body | None = None,
431
- timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
439
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
432
440
  ) -> None:
433
441
  """
434
442
  Delete a specific rule from a security group.
@@ -450,7 +458,9 @@ class AsyncRulesResource(AsyncAPIResource):
450
458
  raise ValueError(f"Expected a non-empty value for `rule_id` but received {rule_id!r}")
451
459
  extra_headers = {"Accept": "*/*", **(extra_headers or {})}
452
460
  return await self._delete(
453
- f"/cloud/v1/securitygrouprules/{project_id}/{region_id}/{rule_id}",
461
+ f"/cloud/v1/securitygrouprules/{project_id}/{region_id}/{rule_id}"
462
+ if self._client._base_url_overridden
463
+ else f"https://api.gcore.com//cloud/v1/securitygrouprules/{project_id}/{region_id}/{rule_id}",
454
464
  options=make_request_options(
455
465
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
456
466
  ),
@@ -465,10 +475,10 @@ class AsyncRulesResource(AsyncAPIResource):
465
475
  region_id: int | None = None,
466
476
  direction: Literal["egress", "ingress"],
467
477
  security_group_id: str,
468
- description: str | NotGiven = NOT_GIVEN,
469
- ethertype: Optional[Literal["IPv4", "IPv6"]] | NotGiven = NOT_GIVEN,
470
- port_range_max: Optional[int] | NotGiven = NOT_GIVEN,
471
- port_range_min: Optional[int] | NotGiven = NOT_GIVEN,
478
+ description: str | Omit = omit,
479
+ ethertype: Optional[Literal["IPv4", "IPv6"]] | Omit = omit,
480
+ port_range_max: Optional[int] | Omit = omit,
481
+ port_range_min: Optional[int] | Omit = omit,
472
482
  protocol: Literal[
473
483
  "ah",
474
484
  "any",
@@ -495,15 +505,15 @@ class AsyncRulesResource(AsyncAPIResource):
495
505
  "udplite",
496
506
  "vrrp",
497
507
  ]
498
- | NotGiven = NOT_GIVEN,
499
- remote_group_id: Optional[str] | NotGiven = NOT_GIVEN,
500
- remote_ip_prefix: Optional[str] | NotGiven = NOT_GIVEN,
508
+ | Omit = omit,
509
+ remote_group_id: Optional[str] | Omit = omit,
510
+ remote_ip_prefix: Optional[str] | Omit = omit,
501
511
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
502
512
  # The extra values given here take precedence over values defined on the client or passed to this method.
503
513
  extra_headers: Headers | None = None,
504
514
  extra_query: Query | None = None,
505
515
  extra_body: Body | None = None,
506
- timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
516
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
507
517
  ) -> SecurityGroupRule:
508
518
  """
509
519
  Update the configuration of an existing security group rule.
@@ -544,7 +554,9 @@ class AsyncRulesResource(AsyncAPIResource):
544
554
  if not rule_id:
545
555
  raise ValueError(f"Expected a non-empty value for `rule_id` but received {rule_id!r}")
546
556
  return await self._put(
547
- f"/cloud/v1/securitygrouprules/{project_id}/{region_id}/{rule_id}",
557
+ f"/cloud/v1/securitygrouprules/{project_id}/{region_id}/{rule_id}"
558
+ if self._client._base_url_overridden
559
+ else f"https://api.gcore.com//cloud/v1/securitygrouprules/{project_id}/{region_id}/{rule_id}",
548
560
  body=await async_maybe_transform(
549
561
  {
550
562
  "direction": direction,
@@ -14,7 +14,7 @@ from .rules import (
14
14
  RulesResourceWithStreamingResponse,
15
15
  AsyncRulesResourceWithStreamingResponse,
16
16
  )
17
- from ...._types import NOT_GIVEN, Body, Query, Headers, NoneType, NotGiven, SequenceNotStr
17
+ from ...._types import Body, Omit, Query, Headers, NoneType, NotGiven, SequenceNotStr, omit, not_given
18
18
  from ...._utils import maybe_transform, async_maybe_transform
19
19
  from ...._compat import cached_property
20
20
  from ...._resource import SyncAPIResource, AsyncAPIResource
@@ -68,13 +68,13 @@ class SecurityGroupsResource(SyncAPIResource):
68
68
  project_id: int | None = None,
69
69
  region_id: int | None = None,
70
70
  security_group: security_group_create_params.SecurityGroup,
71
- instances: SequenceNotStr[str] | NotGiven = NOT_GIVEN,
71
+ instances: SequenceNotStr[str] | Omit = omit,
72
72
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
73
73
  # The extra values given here take precedence over values defined on the client or passed to this method.
74
74
  extra_headers: Headers | None = None,
75
75
  extra_query: Query | None = None,
76
76
  extra_body: Body | None = None,
77
- timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
77
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
78
78
  ) -> SecurityGroup:
79
79
  """
80
80
  Create a new security group with the specified configuration.
@@ -97,7 +97,9 @@ class SecurityGroupsResource(SyncAPIResource):
97
97
  if region_id is None:
98
98
  region_id = self._client._get_cloud_region_id_path_param()
99
99
  return self._post(
100
- f"/cloud/v1/securitygroups/{project_id}/{region_id}",
100
+ f"/cloud/v1/securitygroups/{project_id}/{region_id}"
101
+ if self._client._base_url_overridden
102
+ else f"https://api.gcore.com//cloud/v1/securitygroups/{project_id}/{region_id}",
101
103
  body=maybe_transform(
102
104
  {
103
105
  "security_group": security_group,
@@ -117,15 +119,15 @@ class SecurityGroupsResource(SyncAPIResource):
117
119
  *,
118
120
  project_id: int | None = None,
119
121
  region_id: int | None = None,
120
- changed_rules: Iterable[security_group_update_params.ChangedRule] | NotGiven = NOT_GIVEN,
121
- name: str | NotGiven = NOT_GIVEN,
122
- tags: Optional[TagUpdateMapParam] | NotGiven = NOT_GIVEN,
122
+ changed_rules: Iterable[security_group_update_params.ChangedRule] | Omit = omit,
123
+ name: str | Omit = omit,
124
+ tags: Optional[TagUpdateMapParam] | Omit = omit,
123
125
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
124
126
  # The extra values given here take precedence over values defined on the client or passed to this method.
125
127
  extra_headers: Headers | None = None,
126
128
  extra_query: Query | None = None,
127
129
  extra_body: Body | None = None,
128
- timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
130
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
129
131
  ) -> SecurityGroup:
130
132
  """
131
133
  Update the configuration of an existing security group.
@@ -138,7 +140,9 @@ class SecurityGroupsResource(SyncAPIResource):
138
140
  tags: Update key-value tags using JSON Merge Patch semantics (RFC 7386). Provide
139
141
  key-value pairs to add or update tags. Set tag values to `null` to remove tags.
140
142
  Unspecified tags remain unchanged. Read-only tags are always preserved and
141
- cannot be modified. **Examples:**
143
+ cannot be modified.
144
+
145
+ **Examples:**
142
146
 
143
147
  - **Add/update tags:**
144
148
  `{'tags': {'environment': 'production', 'team': 'backend'}}` adds new tags or
@@ -170,7 +174,9 @@ class SecurityGroupsResource(SyncAPIResource):
170
174
  if not group_id:
171
175
  raise ValueError(f"Expected a non-empty value for `group_id` but received {group_id!r}")
172
176
  return self._patch(
173
- f"/cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}",
177
+ f"/cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}"
178
+ if self._client._base_url_overridden
179
+ else f"https://api.gcore.com//cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}",
174
180
  body=maybe_transform(
175
181
  {
176
182
  "changed_rules": changed_rules,
@@ -190,16 +196,16 @@ class SecurityGroupsResource(SyncAPIResource):
190
196
  *,
191
197
  project_id: int | None = None,
192
198
  region_id: int | None = None,
193
- limit: int | NotGiven = NOT_GIVEN,
194
- offset: int | NotGiven = NOT_GIVEN,
195
- tag_key: SequenceNotStr[str] | NotGiven = NOT_GIVEN,
196
- tag_key_value: str | NotGiven = NOT_GIVEN,
199
+ limit: int | Omit = omit,
200
+ offset: int | Omit = omit,
201
+ tag_key: SequenceNotStr[str] | Omit = omit,
202
+ tag_key_value: str | Omit = omit,
197
203
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
198
204
  # The extra values given here take precedence over values defined on the client or passed to this method.
199
205
  extra_headers: Headers | None = None,
200
206
  extra_query: Query | None = None,
201
207
  extra_body: Body | None = None,
202
- timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
208
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
203
209
  ) -> SyncOffsetPage[SecurityGroup]:
204
210
  """
205
211
  List all security groups in the specified project and region.
@@ -226,7 +232,9 @@ class SecurityGroupsResource(SyncAPIResource):
226
232
  if region_id is None:
227
233
  region_id = self._client._get_cloud_region_id_path_param()
228
234
  return self._get_api_list(
229
- f"/cloud/v1/securitygroups/{project_id}/{region_id}",
235
+ f"/cloud/v1/securitygroups/{project_id}/{region_id}"
236
+ if self._client._base_url_overridden
237
+ else f"https://api.gcore.com//cloud/v1/securitygroups/{project_id}/{region_id}",
230
238
  page=SyncOffsetPage[SecurityGroup],
231
239
  options=make_request_options(
232
240
  extra_headers=extra_headers,
@@ -257,7 +265,7 @@ class SecurityGroupsResource(SyncAPIResource):
257
265
  extra_headers: Headers | None = None,
258
266
  extra_query: Query | None = None,
259
267
  extra_body: Body | None = None,
260
- timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
268
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
261
269
  ) -> None:
262
270
  """
263
271
  Delete a specific security group and all its associated rules.
@@ -279,7 +287,9 @@ class SecurityGroupsResource(SyncAPIResource):
279
287
  raise ValueError(f"Expected a non-empty value for `group_id` but received {group_id!r}")
280
288
  extra_headers = {"Accept": "*/*", **(extra_headers or {})}
281
289
  return self._delete(
282
- f"/cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}",
290
+ f"/cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}"
291
+ if self._client._base_url_overridden
292
+ else f"https://api.gcore.com//cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}",
283
293
  options=make_request_options(
284
294
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
285
295
  ),
@@ -298,7 +308,7 @@ class SecurityGroupsResource(SyncAPIResource):
298
308
  extra_headers: Headers | None = None,
299
309
  extra_query: Query | None = None,
300
310
  extra_body: Body | None = None,
301
- timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
311
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
302
312
  ) -> SecurityGroup:
303
313
  """
304
314
  Create a deep copy of an existing security group.
@@ -321,7 +331,9 @@ class SecurityGroupsResource(SyncAPIResource):
321
331
  if not group_id:
322
332
  raise ValueError(f"Expected a non-empty value for `group_id` but received {group_id!r}")
323
333
  return self._post(
324
- f"/cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}/copy",
334
+ f"/cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}/copy"
335
+ if self._client._base_url_overridden
336
+ else f"https://api.gcore.com//cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}/copy",
325
337
  body=maybe_transform({"name": name}, security_group_copy_params.SecurityGroupCopyParams),
326
338
  options=make_request_options(
327
339
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
@@ -340,7 +352,7 @@ class SecurityGroupsResource(SyncAPIResource):
340
352
  extra_headers: Headers | None = None,
341
353
  extra_query: Query | None = None,
342
354
  extra_body: Body | None = None,
343
- timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
355
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
344
356
  ) -> SecurityGroup:
345
357
  """
346
358
  Get detailed information about a specific security group.
@@ -361,7 +373,9 @@ class SecurityGroupsResource(SyncAPIResource):
361
373
  if not group_id:
362
374
  raise ValueError(f"Expected a non-empty value for `group_id` but received {group_id!r}")
363
375
  return self._get(
364
- f"/cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}",
376
+ f"/cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}"
377
+ if self._client._base_url_overridden
378
+ else f"https://api.gcore.com//cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}",
365
379
  options=make_request_options(
366
380
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
367
381
  ),
@@ -379,7 +393,7 @@ class SecurityGroupsResource(SyncAPIResource):
379
393
  extra_headers: Headers | None = None,
380
394
  extra_query: Query | None = None,
381
395
  extra_body: Body | None = None,
382
- timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
396
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
383
397
  ) -> SecurityGroup:
384
398
  """
385
399
  Revert a security group to its previous state.
@@ -400,7 +414,9 @@ class SecurityGroupsResource(SyncAPIResource):
400
414
  if not group_id:
401
415
  raise ValueError(f"Expected a non-empty value for `group_id` but received {group_id!r}")
402
416
  return self._post(
403
- f"/cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}/revert",
417
+ f"/cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}/revert"
418
+ if self._client._base_url_overridden
419
+ else f"https://api.gcore.com//cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}/revert",
404
420
  options=make_request_options(
405
421
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
406
422
  ),
@@ -438,13 +454,13 @@ class AsyncSecurityGroupsResource(AsyncAPIResource):
438
454
  project_id: int | None = None,
439
455
  region_id: int | None = None,
440
456
  security_group: security_group_create_params.SecurityGroup,
441
- instances: SequenceNotStr[str] | NotGiven = NOT_GIVEN,
457
+ instances: SequenceNotStr[str] | Omit = omit,
442
458
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
443
459
  # The extra values given here take precedence over values defined on the client or passed to this method.
444
460
  extra_headers: Headers | None = None,
445
461
  extra_query: Query | None = None,
446
462
  extra_body: Body | None = None,
447
- timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
463
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
448
464
  ) -> SecurityGroup:
449
465
  """
450
466
  Create a new security group with the specified configuration.
@@ -467,7 +483,9 @@ class AsyncSecurityGroupsResource(AsyncAPIResource):
467
483
  if region_id is None:
468
484
  region_id = self._client._get_cloud_region_id_path_param()
469
485
  return await self._post(
470
- f"/cloud/v1/securitygroups/{project_id}/{region_id}",
486
+ f"/cloud/v1/securitygroups/{project_id}/{region_id}"
487
+ if self._client._base_url_overridden
488
+ else f"https://api.gcore.com//cloud/v1/securitygroups/{project_id}/{region_id}",
471
489
  body=await async_maybe_transform(
472
490
  {
473
491
  "security_group": security_group,
@@ -487,15 +505,15 @@ class AsyncSecurityGroupsResource(AsyncAPIResource):
487
505
  *,
488
506
  project_id: int | None = None,
489
507
  region_id: int | None = None,
490
- changed_rules: Iterable[security_group_update_params.ChangedRule] | NotGiven = NOT_GIVEN,
491
- name: str | NotGiven = NOT_GIVEN,
492
- tags: Optional[TagUpdateMapParam] | NotGiven = NOT_GIVEN,
508
+ changed_rules: Iterable[security_group_update_params.ChangedRule] | Omit = omit,
509
+ name: str | Omit = omit,
510
+ tags: Optional[TagUpdateMapParam] | Omit = omit,
493
511
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
494
512
  # The extra values given here take precedence over values defined on the client or passed to this method.
495
513
  extra_headers: Headers | None = None,
496
514
  extra_query: Query | None = None,
497
515
  extra_body: Body | None = None,
498
- timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
516
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
499
517
  ) -> SecurityGroup:
500
518
  """
501
519
  Update the configuration of an existing security group.
@@ -508,7 +526,9 @@ class AsyncSecurityGroupsResource(AsyncAPIResource):
508
526
  tags: Update key-value tags using JSON Merge Patch semantics (RFC 7386). Provide
509
527
  key-value pairs to add or update tags. Set tag values to `null` to remove tags.
510
528
  Unspecified tags remain unchanged. Read-only tags are always preserved and
511
- cannot be modified. **Examples:**
529
+ cannot be modified.
530
+
531
+ **Examples:**
512
532
 
513
533
  - **Add/update tags:**
514
534
  `{'tags': {'environment': 'production', 'team': 'backend'}}` adds new tags or
@@ -540,7 +560,9 @@ class AsyncSecurityGroupsResource(AsyncAPIResource):
540
560
  if not group_id:
541
561
  raise ValueError(f"Expected a non-empty value for `group_id` but received {group_id!r}")
542
562
  return await self._patch(
543
- f"/cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}",
563
+ f"/cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}"
564
+ if self._client._base_url_overridden
565
+ else f"https://api.gcore.com//cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}",
544
566
  body=await async_maybe_transform(
545
567
  {
546
568
  "changed_rules": changed_rules,
@@ -560,16 +582,16 @@ class AsyncSecurityGroupsResource(AsyncAPIResource):
560
582
  *,
561
583
  project_id: int | None = None,
562
584
  region_id: int | None = None,
563
- limit: int | NotGiven = NOT_GIVEN,
564
- offset: int | NotGiven = NOT_GIVEN,
565
- tag_key: SequenceNotStr[str] | NotGiven = NOT_GIVEN,
566
- tag_key_value: str | NotGiven = NOT_GIVEN,
585
+ limit: int | Omit = omit,
586
+ offset: int | Omit = omit,
587
+ tag_key: SequenceNotStr[str] | Omit = omit,
588
+ tag_key_value: str | Omit = omit,
567
589
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
568
590
  # The extra values given here take precedence over values defined on the client or passed to this method.
569
591
  extra_headers: Headers | None = None,
570
592
  extra_query: Query | None = None,
571
593
  extra_body: Body | None = None,
572
- timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
594
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
573
595
  ) -> AsyncPaginator[SecurityGroup, AsyncOffsetPage[SecurityGroup]]:
574
596
  """
575
597
  List all security groups in the specified project and region.
@@ -596,7 +618,9 @@ class AsyncSecurityGroupsResource(AsyncAPIResource):
596
618
  if region_id is None:
597
619
  region_id = self._client._get_cloud_region_id_path_param()
598
620
  return self._get_api_list(
599
- f"/cloud/v1/securitygroups/{project_id}/{region_id}",
621
+ f"/cloud/v1/securitygroups/{project_id}/{region_id}"
622
+ if self._client._base_url_overridden
623
+ else f"https://api.gcore.com//cloud/v1/securitygroups/{project_id}/{region_id}",
600
624
  page=AsyncOffsetPage[SecurityGroup],
601
625
  options=make_request_options(
602
626
  extra_headers=extra_headers,
@@ -627,7 +651,7 @@ class AsyncSecurityGroupsResource(AsyncAPIResource):
627
651
  extra_headers: Headers | None = None,
628
652
  extra_query: Query | None = None,
629
653
  extra_body: Body | None = None,
630
- timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
654
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
631
655
  ) -> None:
632
656
  """
633
657
  Delete a specific security group and all its associated rules.
@@ -649,7 +673,9 @@ class AsyncSecurityGroupsResource(AsyncAPIResource):
649
673
  raise ValueError(f"Expected a non-empty value for `group_id` but received {group_id!r}")
650
674
  extra_headers = {"Accept": "*/*", **(extra_headers or {})}
651
675
  return await self._delete(
652
- f"/cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}",
676
+ f"/cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}"
677
+ if self._client._base_url_overridden
678
+ else f"https://api.gcore.com//cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}",
653
679
  options=make_request_options(
654
680
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
655
681
  ),
@@ -668,7 +694,7 @@ class AsyncSecurityGroupsResource(AsyncAPIResource):
668
694
  extra_headers: Headers | None = None,
669
695
  extra_query: Query | None = None,
670
696
  extra_body: Body | None = None,
671
- timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
697
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
672
698
  ) -> SecurityGroup:
673
699
  """
674
700
  Create a deep copy of an existing security group.
@@ -691,7 +717,9 @@ class AsyncSecurityGroupsResource(AsyncAPIResource):
691
717
  if not group_id:
692
718
  raise ValueError(f"Expected a non-empty value for `group_id` but received {group_id!r}")
693
719
  return await self._post(
694
- f"/cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}/copy",
720
+ f"/cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}/copy"
721
+ if self._client._base_url_overridden
722
+ else f"https://api.gcore.com//cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}/copy",
695
723
  body=await async_maybe_transform({"name": name}, security_group_copy_params.SecurityGroupCopyParams),
696
724
  options=make_request_options(
697
725
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
@@ -710,7 +738,7 @@ class AsyncSecurityGroupsResource(AsyncAPIResource):
710
738
  extra_headers: Headers | None = None,
711
739
  extra_query: Query | None = None,
712
740
  extra_body: Body | None = None,
713
- timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
741
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
714
742
  ) -> SecurityGroup:
715
743
  """
716
744
  Get detailed information about a specific security group.
@@ -731,7 +759,9 @@ class AsyncSecurityGroupsResource(AsyncAPIResource):
731
759
  if not group_id:
732
760
  raise ValueError(f"Expected a non-empty value for `group_id` but received {group_id!r}")
733
761
  return await self._get(
734
- f"/cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}",
762
+ f"/cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}"
763
+ if self._client._base_url_overridden
764
+ else f"https://api.gcore.com//cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}",
735
765
  options=make_request_options(
736
766
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
737
767
  ),
@@ -749,7 +779,7 @@ class AsyncSecurityGroupsResource(AsyncAPIResource):
749
779
  extra_headers: Headers | None = None,
750
780
  extra_query: Query | None = None,
751
781
  extra_body: Body | None = None,
752
- timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
782
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
753
783
  ) -> SecurityGroup:
754
784
  """
755
785
  Revert a security group to its previous state.
@@ -770,7 +800,9 @@ class AsyncSecurityGroupsResource(AsyncAPIResource):
770
800
  if not group_id:
771
801
  raise ValueError(f"Expected a non-empty value for `group_id` but received {group_id!r}")
772
802
  return await self._post(
773
- f"/cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}/revert",
803
+ f"/cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}/revert"
804
+ if self._client._base_url_overridden
805
+ else f"https://api.gcore.com//cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}/revert",
774
806
  options=make_request_options(
775
807
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
776
808
  ),