gcore 0.15.0__py3-none-any.whl → 0.17.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 (199) hide show
  1. gcore/_client.py +18 -8
  2. gcore/_version.py +1 -1
  3. gcore/resources/cdn/audit_log.py +4 -12
  4. gcore/resources/cdn/cdn.py +130 -39
  5. gcore/resources/cdn/certificates.py +16 -40
  6. gcore/resources/cdn/ip_ranges.py +4 -8
  7. gcore/resources/cdn/{logs/logs.py → logs.py} +13 -53
  8. gcore/resources/cdn/logs_uploader/configs.py +14 -42
  9. gcore/resources/cdn/logs_uploader/policies.py +14 -42
  10. gcore/resources/cdn/logs_uploader/targets.py +14 -42
  11. gcore/resources/cdn/metrics.py +2 -6
  12. gcore/resources/cdn/network_capacity.py +2 -6
  13. gcore/resources/cdn/origin_groups.py +12 -32
  14. gcore/resources/cdn/resources/resources.py +18 -46
  15. gcore/resources/cdn/resources/rules.py +12 -36
  16. gcore/resources/cdn/resources/shield.py +4 -12
  17. gcore/resources/cdn/rule_templates.py +12 -36
  18. gcore/resources/cdn/shields.py +2 -6
  19. gcore/resources/cdn/statistics.py +16 -40
  20. gcore/resources/cdn/trusted_ca_certificates.py +10 -30
  21. gcore/resources/cloud/audit_logs.py +2 -6
  22. gcore/resources/cloud/baremetal/flavors.py +2 -6
  23. gcore/resources/cloud/baremetal/images.py +2 -6
  24. gcore/resources/cloud/baremetal/servers.py +14 -18
  25. gcore/resources/cloud/billing_reservations.py +25 -208
  26. gcore/resources/cloud/cloud.py +18 -0
  27. gcore/resources/cloud/cost_reports.py +44 -62
  28. gcore/resources/cloud/file_shares/access_rules.py +6 -18
  29. gcore/resources/cloud/file_shares/file_shares.py +126 -42
  30. gcore/resources/cloud/floating_ips.py +22 -42
  31. gcore/resources/cloud/gpu_baremetal_clusters/flavors.py +2 -6
  32. gcore/resources/cloud/gpu_baremetal_clusters/gpu_baremetal_clusters.py +30 -54
  33. gcore/resources/cloud/gpu_baremetal_clusters/images.py +16 -24
  34. gcore/resources/cloud/gpu_baremetal_clusters/interfaces.py +2 -6
  35. gcore/resources/cloud/gpu_baremetal_clusters/servers.py +18 -42
  36. gcore/resources/cloud/inference/api_keys.py +10 -30
  37. gcore/resources/cloud/inference/applications/deployments.py +135 -155
  38. gcore/resources/cloud/inference/applications/templates.py +4 -12
  39. gcore/resources/cloud/inference/deployments/deployments.py +28 -48
  40. gcore/resources/cloud/inference/deployments/logs.py +2 -6
  41. gcore/resources/cloud/inference/flavors.py +4 -12
  42. gcore/resources/cloud/inference/inference.py +2 -6
  43. gcore/resources/cloud/inference/registry_credentials.py +10 -30
  44. gcore/resources/cloud/inference/secrets.py +10 -30
  45. gcore/resources/cloud/instances/flavors.py +2 -6
  46. gcore/resources/cloud/instances/images.py +24 -36
  47. gcore/resources/cloud/instances/instances.py +119 -94
  48. gcore/resources/cloud/instances/interfaces.py +18 -18
  49. gcore/resources/cloud/instances/metrics.py +2 -6
  50. gcore/resources/cloud/ip_ranges.py +2 -6
  51. gcore/resources/cloud/k8s/clusters/clusters.py +18 -54
  52. gcore/resources/cloud/k8s/clusters/nodes.py +4 -12
  53. gcore/resources/cloud/k8s/clusters/pools/nodes.py +4 -12
  54. gcore/resources/cloud/k8s/clusters/pools/pools.py +12 -36
  55. gcore/resources/cloud/k8s/flavors.py +2 -6
  56. gcore/resources/cloud/k8s/k8s.py +2 -6
  57. gcore/resources/cloud/load_balancers/flavors.py +2 -6
  58. gcore/resources/cloud/load_balancers/l7_policies/l7_policies.py +22 -30
  59. gcore/resources/cloud/load_balancers/l7_policies/rules.py +22 -30
  60. gcore/resources/cloud/load_balancers/listeners.py +38 -46
  61. gcore/resources/cloud/load_balancers/load_balancers.py +509 -521
  62. gcore/resources/cloud/load_balancers/metrics.py +8 -12
  63. gcore/resources/cloud/load_balancers/pools/health_monitors.py +4 -12
  64. gcore/resources/cloud/load_balancers/pools/members.py +4 -12
  65. gcore/resources/cloud/load_balancers/pools/pools.py +38 -46
  66. gcore/resources/cloud/load_balancers/statuses.py +10 -18
  67. gcore/resources/cloud/networks/networks.py +18 -30
  68. gcore/resources/cloud/networks/routers.py +14 -42
  69. gcore/resources/cloud/networks/subnets.py +14 -30
  70. gcore/resources/cloud/placement_groups.py +16 -24
  71. gcore/resources/cloud/projects.py +117 -129
  72. gcore/resources/cloud/quotas/quotas.py +6 -18
  73. gcore/resources/cloud/quotas/requests.py +8 -24
  74. gcore/resources/cloud/regions.py +4 -8
  75. gcore/resources/cloud/registries/artifacts.py +4 -12
  76. gcore/resources/cloud/registries/registries.py +10 -30
  77. gcore/resources/cloud/registries/repositories.py +4 -12
  78. gcore/resources/cloud/registries/tags.py +2 -6
  79. gcore/resources/cloud/registries/users.py +12 -36
  80. gcore/resources/cloud/reserved_fixed_ips/reserved_fixed_ips.py +28 -30
  81. gcore/resources/cloud/reserved_fixed_ips/vip.py +10 -30
  82. gcore/resources/cloud/secrets.py +12 -24
  83. gcore/resources/cloud/security_groups/rules.py +6 -18
  84. gcore/resources/cloud/security_groups/security_groups.py +14 -42
  85. gcore/resources/cloud/ssh_keys.py +10 -30
  86. gcore/resources/cloud/tasks.py +36 -33
  87. gcore/resources/cloud/usage_reports.py +18 -24
  88. gcore/resources/cloud/users/role_assignments.py +8 -24
  89. gcore/resources/cloud/volumes.py +47 -61
  90. gcore/resources/dns/dns.py +4 -8
  91. gcore/resources/dns/locations.py +8 -20
  92. gcore/resources/dns/metrics.py +2 -6
  93. gcore/resources/dns/pickers/pickers.py +2 -2
  94. gcore/resources/dns/pickers/presets.py +2 -6
  95. gcore/resources/dns/zones/dnssec.py +4 -12
  96. gcore/resources/dns/zones/rrsets.py +12 -36
  97. gcore/resources/dns/zones/zones.py +22 -58
  98. gcore/resources/fastedge/apps/apps.py +12 -28
  99. gcore/resources/fastedge/apps/logs.py +2 -6
  100. gcore/resources/fastedge/binaries.py +8 -24
  101. gcore/resources/fastedge/fastedge.py +2 -2
  102. gcore/resources/fastedge/kv_stores.py +10 -22
  103. gcore/resources/fastedge/secrets.py +12 -36
  104. gcore/resources/fastedge/statistics.py +4 -12
  105. gcore/resources/fastedge/templates.py +10 -30
  106. gcore/resources/iam/api_tokens.py +8 -24
  107. gcore/resources/iam/iam.py +2 -2
  108. gcore/resources/iam/users.py +10 -26
  109. gcore/resources/security/bgp_announces.py +4 -12
  110. gcore/resources/security/events.py +2 -6
  111. gcore/resources/security/profile_templates.py +2 -6
  112. gcore/resources/security/profiles.py +16 -40
  113. gcore/resources/storage/buckets/buckets.py +6 -18
  114. gcore/resources/storage/buckets/cors.py +4 -12
  115. gcore/resources/storage/buckets/lifecycle.py +4 -12
  116. gcore/resources/storage/buckets/policy.py +6 -18
  117. gcore/resources/storage/credentials.py +2 -6
  118. gcore/resources/storage/locations.py +2 -6
  119. gcore/resources/storage/statistics.py +4 -12
  120. gcore/resources/storage/storage.py +16 -48
  121. gcore/resources/streaming/ai_tasks.py +10 -18
  122. gcore/resources/streaming/broadcasts.py +12 -36
  123. gcore/resources/streaming/directories.py +10 -30
  124. gcore/resources/streaming/players.py +12 -28
  125. gcore/resources/streaming/playlists.py +12 -36
  126. gcore/resources/streaming/quality_sets.py +4 -12
  127. gcore/resources/streaming/restreams.py +10 -30
  128. gcore/resources/streaming/statistics.py +46 -138
  129. gcore/resources/streaming/streams/overlays.py +12 -36
  130. gcore/resources/streaming/streams/streams.py +20 -52
  131. gcore/resources/streaming/videos/subtitles.py +10 -30
  132. gcore/resources/streaming/videos/videos.py +16 -40
  133. gcore/resources/waap/advanced_rules.py +2 -6
  134. gcore/resources/waap/custom_page_sets.py +12 -36
  135. gcore/resources/waap/domains/advanced_rules.py +12 -36
  136. gcore/resources/waap/domains/api_discovery.py +12 -36
  137. gcore/resources/waap/domains/api_path_groups.py +2 -6
  138. gcore/resources/waap/domains/api_paths.py +10 -30
  139. gcore/resources/waap/domains/custom_rules.py +14 -42
  140. gcore/resources/waap/domains/domains.py +12 -32
  141. gcore/resources/waap/domains/firewall_rules.py +14 -42
  142. gcore/resources/waap/domains/insight_silences.py +10 -30
  143. gcore/resources/waap/domains/insights.py +6 -18
  144. gcore/resources/waap/domains/settings.py +4 -12
  145. gcore/resources/waap/domains/statistics.py +12 -36
  146. gcore/resources/waap/insights.py +2 -6
  147. gcore/resources/waap/ip_info/ip_info.py +16 -48
  148. gcore/resources/waap/ip_info/metrics.py +2 -6
  149. gcore/resources/waap/organizations.py +2 -6
  150. gcore/resources/waap/statistics.py +2 -6
  151. gcore/resources/waap/tags.py +2 -2
  152. gcore/resources/waap/waap.py +2 -2
  153. gcore/types/cdn/__init__.py +3 -0
  154. gcore/types/cdn/alibaba_regions.py +22 -0
  155. gcore/types/cdn/aws_regions.py +22 -0
  156. gcore/types/cdn/cdn_list_purge_statuses_response.py +10 -0
  157. gcore/types/cdn/cdn_resource.py +1 -1
  158. gcore/types/cdn/logs_aggregated_stats.py +1 -1
  159. gcore/types/cdn/resource_create_params.py +1 -1
  160. gcore/types/cdn/resource_replace_params.py +1 -1
  161. gcore/types/cdn/resource_update_params.py +1 -1
  162. gcore/types/cdn/resources/cdn_resource_rule.py +1 -1
  163. gcore/types/cdn/resources/rule_create_params.py +1 -1
  164. gcore/types/cdn/resources/rule_replace_params.py +1 -1
  165. gcore/types/cdn/resources/rule_update_params.py +1 -1
  166. gcore/types/cdn/rule_template.py +1 -1
  167. gcore/types/cdn/rule_template_create_params.py +1 -1
  168. gcore/types/cdn/rule_template_replace_params.py +1 -1
  169. gcore/types/cdn/rule_template_update_params.py +1 -1
  170. gcore/types/cloud/__init__.py +2 -1
  171. gcore/types/cloud/billing_reservation.py +52 -114
  172. gcore/types/cloud/billing_reservation_list_params.py +4 -42
  173. gcore/types/cloud/billing_reservations.py +16 -0
  174. gcore/types/cloud/cost_report_get_aggregated_params.py +2 -2
  175. gcore/types/cloud/cost_report_get_detailed_params.py +2 -2
  176. gcore/types/cloud/inference/applications/__init__.py +1 -1
  177. gcore/types/cloud/inference/applications/{deployment_patch_params.py → deployment_update_params.py} +2 -2
  178. gcore/types/cloud/instance_list_params.py +1 -1
  179. gcore/types/cloud/instance_update_params.py +31 -3
  180. gcore/types/cloud/load_balancer_create_params.py +1 -1
  181. gcore/types/cloud/load_balancer_listener_detail.py +1 -1
  182. gcore/types/cloud/load_balancers/listener_create_params.py +1 -1
  183. gcore/types/cloud/load_balancers/listener_list_params.py +1 -1
  184. gcore/types/cloud/load_balancers/pool_create_params.py +1 -1
  185. gcore/types/cloud/load_balancers/pool_list_params.py +1 -1
  186. gcore/types/cloud/{project_replace_params.py → project_update_params.py} +2 -2
  187. gcore/types/cloud/task_list_params.py +3 -3
  188. gcore/types/cloud/usage_report_get_params.py +2 -2
  189. gcore/types/security/profile_create_params.py +2 -2
  190. {gcore-0.15.0.dist-info → gcore-0.17.0.dist-info}/METADATA +2 -2
  191. {gcore-0.15.0.dist-info → gcore-0.17.0.dist-info}/RECORD +193 -195
  192. gcore/resources/cdn/logs/__init__.py +0 -33
  193. gcore/resources/cdn/logs/settings.py +0 -1081
  194. gcore/types/cdn/logs/__init__.py +0 -7
  195. gcore/types/cdn/logs/log_settings.py +0 -172
  196. gcore/types/cdn/logs/setting_create_params.py +0 -200
  197. gcore/types/cdn/logs/setting_update_params.py +0 -200
  198. {gcore-0.15.0.dist-info → gcore-0.17.0.dist-info}/WHEEL +0 -0
  199. {gcore-0.15.0.dist-info → gcore-0.17.0.dist-info}/licenses/LICENSE +0 -0
@@ -79,9 +79,7 @@ class VipResource(SyncAPIResource):
79
79
  if not port_id:
80
80
  raise ValueError(f"Expected a non-empty value for `port_id` but received {port_id!r}")
81
81
  return self._get(
82
- f"/cloud/v1/reserved_fixed_ips/{project_id}/{region_id}/{port_id}/available_devices"
83
- if self._client._base_url_overridden
84
- else f"https://api.gcore.com//cloud/v1/reserved_fixed_ips/{project_id}/{region_id}/{port_id}/available_devices",
82
+ f"/cloud/v1/reserved_fixed_ips/{project_id}/{region_id}/{port_id}/available_devices",
85
83
  options=make_request_options(
86
84
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
87
85
  ),
@@ -120,9 +118,7 @@ class VipResource(SyncAPIResource):
120
118
  if not port_id:
121
119
  raise ValueError(f"Expected a non-empty value for `port_id` but received {port_id!r}")
122
120
  return self._get(
123
- f"/cloud/v1/reserved_fixed_ips/{project_id}/{region_id}/{port_id}/connected_devices"
124
- if self._client._base_url_overridden
125
- else f"https://api.gcore.com//cloud/v1/reserved_fixed_ips/{project_id}/{region_id}/{port_id}/connected_devices",
121
+ f"/cloud/v1/reserved_fixed_ips/{project_id}/{region_id}/{port_id}/connected_devices",
126
122
  options=make_request_options(
127
123
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
128
124
  ),
@@ -164,9 +160,7 @@ class VipResource(SyncAPIResource):
164
160
  if not port_id:
165
161
  raise ValueError(f"Expected a non-empty value for `port_id` but received {port_id!r}")
166
162
  return self._put(
167
- f"/cloud/v1/reserved_fixed_ips/{project_id}/{region_id}/{port_id}/connected_devices"
168
- if self._client._base_url_overridden
169
- else f"https://api.gcore.com//cloud/v1/reserved_fixed_ips/{project_id}/{region_id}/{port_id}/connected_devices",
163
+ f"/cloud/v1/reserved_fixed_ips/{project_id}/{region_id}/{port_id}/connected_devices",
170
164
  body=maybe_transform(
171
165
  {"port_ids": port_ids}, vip_replace_connected_ports_params.VipReplaceConnectedPortsParams
172
166
  ),
@@ -211,9 +205,7 @@ class VipResource(SyncAPIResource):
211
205
  if not port_id:
212
206
  raise ValueError(f"Expected a non-empty value for `port_id` but received {port_id!r}")
213
207
  return self._patch(
214
- f"/cloud/v1/reserved_fixed_ips/{project_id}/{region_id}/{port_id}"
215
- if self._client._base_url_overridden
216
- else f"https://api.gcore.com//cloud/v1/reserved_fixed_ips/{project_id}/{region_id}/{port_id}",
208
+ f"/cloud/v1/reserved_fixed_ips/{project_id}/{region_id}/{port_id}",
217
209
  body=maybe_transform({"is_vip": is_vip}, vip_toggle_params.VipToggleParams),
218
210
  options=make_request_options(
219
211
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
@@ -256,9 +248,7 @@ class VipResource(SyncAPIResource):
256
248
  if not port_id:
257
249
  raise ValueError(f"Expected a non-empty value for `port_id` but received {port_id!r}")
258
250
  return self._patch(
259
- f"/cloud/v1/reserved_fixed_ips/{project_id}/{region_id}/{port_id}/connected_devices"
260
- if self._client._base_url_overridden
261
- else f"https://api.gcore.com//cloud/v1/reserved_fixed_ips/{project_id}/{region_id}/{port_id}/connected_devices",
251
+ f"/cloud/v1/reserved_fixed_ips/{project_id}/{region_id}/{port_id}/connected_devices",
262
252
  body=maybe_transform(
263
253
  {"port_ids": port_ids}, vip_update_connected_ports_params.VipUpdateConnectedPortsParams
264
254
  ),
@@ -321,9 +311,7 @@ class AsyncVipResource(AsyncAPIResource):
321
311
  if not port_id:
322
312
  raise ValueError(f"Expected a non-empty value for `port_id` but received {port_id!r}")
323
313
  return await self._get(
324
- f"/cloud/v1/reserved_fixed_ips/{project_id}/{region_id}/{port_id}/available_devices"
325
- if self._client._base_url_overridden
326
- else f"https://api.gcore.com//cloud/v1/reserved_fixed_ips/{project_id}/{region_id}/{port_id}/available_devices",
314
+ f"/cloud/v1/reserved_fixed_ips/{project_id}/{region_id}/{port_id}/available_devices",
327
315
  options=make_request_options(
328
316
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
329
317
  ),
@@ -362,9 +350,7 @@ class AsyncVipResource(AsyncAPIResource):
362
350
  if not port_id:
363
351
  raise ValueError(f"Expected a non-empty value for `port_id` but received {port_id!r}")
364
352
  return await self._get(
365
- f"/cloud/v1/reserved_fixed_ips/{project_id}/{region_id}/{port_id}/connected_devices"
366
- if self._client._base_url_overridden
367
- else f"https://api.gcore.com//cloud/v1/reserved_fixed_ips/{project_id}/{region_id}/{port_id}/connected_devices",
353
+ f"/cloud/v1/reserved_fixed_ips/{project_id}/{region_id}/{port_id}/connected_devices",
368
354
  options=make_request_options(
369
355
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
370
356
  ),
@@ -406,9 +392,7 @@ class AsyncVipResource(AsyncAPIResource):
406
392
  if not port_id:
407
393
  raise ValueError(f"Expected a non-empty value for `port_id` but received {port_id!r}")
408
394
  return await self._put(
409
- f"/cloud/v1/reserved_fixed_ips/{project_id}/{region_id}/{port_id}/connected_devices"
410
- if self._client._base_url_overridden
411
- else f"https://api.gcore.com//cloud/v1/reserved_fixed_ips/{project_id}/{region_id}/{port_id}/connected_devices",
395
+ f"/cloud/v1/reserved_fixed_ips/{project_id}/{region_id}/{port_id}/connected_devices",
412
396
  body=await async_maybe_transform(
413
397
  {"port_ids": port_ids}, vip_replace_connected_ports_params.VipReplaceConnectedPortsParams
414
398
  ),
@@ -453,9 +437,7 @@ class AsyncVipResource(AsyncAPIResource):
453
437
  if not port_id:
454
438
  raise ValueError(f"Expected a non-empty value for `port_id` but received {port_id!r}")
455
439
  return await self._patch(
456
- f"/cloud/v1/reserved_fixed_ips/{project_id}/{region_id}/{port_id}"
457
- if self._client._base_url_overridden
458
- else f"https://api.gcore.com//cloud/v1/reserved_fixed_ips/{project_id}/{region_id}/{port_id}",
440
+ f"/cloud/v1/reserved_fixed_ips/{project_id}/{region_id}/{port_id}",
459
441
  body=await async_maybe_transform({"is_vip": is_vip}, vip_toggle_params.VipToggleParams),
460
442
  options=make_request_options(
461
443
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
@@ -498,9 +480,7 @@ class AsyncVipResource(AsyncAPIResource):
498
480
  if not port_id:
499
481
  raise ValueError(f"Expected a non-empty value for `port_id` but received {port_id!r}")
500
482
  return await self._patch(
501
- f"/cloud/v1/reserved_fixed_ips/{project_id}/{region_id}/{port_id}/connected_devices"
502
- if self._client._base_url_overridden
503
- else f"https://api.gcore.com//cloud/v1/reserved_fixed_ips/{project_id}/{region_id}/{port_id}/connected_devices",
483
+ f"/cloud/v1/reserved_fixed_ips/{project_id}/{region_id}/{port_id}/connected_devices",
504
484
  body=await async_maybe_transform(
505
485
  {"port_ids": port_ids}, vip_update_connected_ports_params.VipUpdateConnectedPortsParams
506
486
  ),
@@ -86,9 +86,7 @@ class SecretsResource(SyncAPIResource):
86
86
  if region_id is None:
87
87
  region_id = self._client._get_cloud_region_id_path_param()
88
88
  return self._get_api_list(
89
- f"/cloud/v1/secrets/{project_id}/{region_id}"
90
- if self._client._base_url_overridden
91
- else f"https://api.gcore.com//cloud/v1/secrets/{project_id}/{region_id}",
89
+ f"/cloud/v1/secrets/{project_id}/{region_id}",
92
90
  page=SyncOffsetPage[Secret],
93
91
  options=make_request_options(
94
92
  extra_headers=extra_headers,
@@ -144,9 +142,7 @@ class SecretsResource(SyncAPIResource):
144
142
  if not secret_id:
145
143
  raise ValueError(f"Expected a non-empty value for `secret_id` but received {secret_id!r}")
146
144
  return self._delete(
147
- f"/cloud/v1/secrets/{project_id}/{region_id}/{secret_id}"
148
- if self._client._base_url_overridden
149
- else f"https://api.gcore.com//cloud/v1/secrets/{project_id}/{region_id}/{secret_id}",
145
+ f"/cloud/v1/secrets/{project_id}/{region_id}/{secret_id}",
150
146
  options=make_request_options(
151
147
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
152
148
  ),
@@ -191,9 +187,7 @@ class SecretsResource(SyncAPIResource):
191
187
  if not secret_id:
192
188
  raise ValueError(f"Expected a non-empty value for `secret_id` but received {secret_id!r}")
193
189
  return self._get(
194
- f"/cloud/v1/secrets/{project_id}/{region_id}/{secret_id}"
195
- if self._client._base_url_overridden
196
- else f"https://api.gcore.com//cloud/v1/secrets/{project_id}/{region_id}/{secret_id}",
190
+ f"/cloud/v1/secrets/{project_id}/{region_id}/{secret_id}",
197
191
  options=make_request_options(
198
192
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
199
193
  ),
@@ -242,9 +236,7 @@ class SecretsResource(SyncAPIResource):
242
236
  if region_id is None:
243
237
  region_id = self._client._get_cloud_region_id_path_param()
244
238
  return self._post(
245
- f"/cloud/v2/secrets/{project_id}/{region_id}"
246
- if self._client._base_url_overridden
247
- else f"https://api.gcore.com//cloud/v2/secrets/{project_id}/{region_id}",
239
+ f"/cloud/v2/secrets/{project_id}/{region_id}",
248
240
  body=maybe_transform(
249
241
  {
250
242
  "name": name,
@@ -268,6 +260,7 @@ class SecretsResource(SyncAPIResource):
268
260
  payload: secret_upload_tls_certificate_params.Payload,
269
261
  expiration: Union[str, datetime, None] | Omit = omit,
270
262
  polling_interval_seconds: int | Omit = omit,
263
+ polling_timeout_seconds: int | Omit = omit,
271
264
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
272
265
  # The extra values given here take precedence over values defined on the client or passed to this method.
273
266
  extra_headers: Headers | None = None,
@@ -290,6 +283,7 @@ class SecretsResource(SyncAPIResource):
290
283
  task_id=response.tasks[0],
291
284
  extra_headers=extra_headers,
292
285
  polling_interval_seconds=polling_interval_seconds,
286
+ polling_timeout_seconds=polling_timeout_seconds,
293
287
  )
294
288
  if not task.created_resources or not task.created_resources.secrets or len(task.created_resources.secrets) != 1:
295
289
  raise ValueError(f"Expected exactly one resource to be created in a task")
@@ -361,9 +355,7 @@ class AsyncSecretsResource(AsyncAPIResource):
361
355
  if region_id is None:
362
356
  region_id = self._client._get_cloud_region_id_path_param()
363
357
  return self._get_api_list(
364
- f"/cloud/v1/secrets/{project_id}/{region_id}"
365
- if self._client._base_url_overridden
366
- else f"https://api.gcore.com//cloud/v1/secrets/{project_id}/{region_id}",
358
+ f"/cloud/v1/secrets/{project_id}/{region_id}",
367
359
  page=AsyncOffsetPage[Secret],
368
360
  options=make_request_options(
369
361
  extra_headers=extra_headers,
@@ -419,9 +411,7 @@ class AsyncSecretsResource(AsyncAPIResource):
419
411
  if not secret_id:
420
412
  raise ValueError(f"Expected a non-empty value for `secret_id` but received {secret_id!r}")
421
413
  return await self._delete(
422
- f"/cloud/v1/secrets/{project_id}/{region_id}/{secret_id}"
423
- if self._client._base_url_overridden
424
- else f"https://api.gcore.com//cloud/v1/secrets/{project_id}/{region_id}/{secret_id}",
414
+ f"/cloud/v1/secrets/{project_id}/{region_id}/{secret_id}",
425
415
  options=make_request_options(
426
416
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
427
417
  ),
@@ -466,9 +456,7 @@ class AsyncSecretsResource(AsyncAPIResource):
466
456
  if not secret_id:
467
457
  raise ValueError(f"Expected a non-empty value for `secret_id` but received {secret_id!r}")
468
458
  return await self._get(
469
- f"/cloud/v1/secrets/{project_id}/{region_id}/{secret_id}"
470
- if self._client._base_url_overridden
471
- else f"https://api.gcore.com//cloud/v1/secrets/{project_id}/{region_id}/{secret_id}",
459
+ f"/cloud/v1/secrets/{project_id}/{region_id}/{secret_id}",
472
460
  options=make_request_options(
473
461
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
474
462
  ),
@@ -517,9 +505,7 @@ class AsyncSecretsResource(AsyncAPIResource):
517
505
  if region_id is None:
518
506
  region_id = self._client._get_cloud_region_id_path_param()
519
507
  return await self._post(
520
- f"/cloud/v2/secrets/{project_id}/{region_id}"
521
- if self._client._base_url_overridden
522
- else f"https://api.gcore.com//cloud/v2/secrets/{project_id}/{region_id}",
508
+ f"/cloud/v2/secrets/{project_id}/{region_id}",
523
509
  body=await async_maybe_transform(
524
510
  {
525
511
  "name": name,
@@ -543,6 +529,7 @@ class AsyncSecretsResource(AsyncAPIResource):
543
529
  payload: secret_upload_tls_certificate_params.Payload,
544
530
  expiration: Union[str, datetime, None] | Omit = omit,
545
531
  polling_interval_seconds: int | Omit = omit,
532
+ polling_timeout_seconds: int | Omit = omit,
546
533
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
547
534
  # The extra values given here take precedence over values defined on the client or passed to this method.
548
535
  extra_headers: Headers | None = None,
@@ -565,6 +552,7 @@ class AsyncSecretsResource(AsyncAPIResource):
565
552
  task_id=response.tasks[0],
566
553
  extra_headers=extra_headers,
567
554
  polling_interval_seconds=polling_interval_seconds,
555
+ polling_timeout_seconds=polling_timeout_seconds,
568
556
  )
569
557
  if not task.created_resources or not task.created_resources.secrets or len(task.created_resources.secrets) != 1:
570
558
  raise ValueError(f"Expected exactly one resource to be created in a task")
@@ -126,9 +126,7 @@ 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"
130
- if self._client._base_url_overridden
131
- else f"https://api.gcore.com//cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}/rules",
129
+ f"/cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}/rules",
132
130
  body=maybe_transform(
133
131
  {
134
132
  "description": description,
@@ -181,9 +179,7 @@ class RulesResource(SyncAPIResource):
181
179
  raise ValueError(f"Expected a non-empty value for `rule_id` but received {rule_id!r}")
182
180
  extra_headers = {"Accept": "*/*", **(extra_headers or {})}
183
181
  return self._delete(
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}",
182
+ f"/cloud/v1/securitygrouprules/{project_id}/{region_id}/{rule_id}",
187
183
  options=make_request_options(
188
184
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
189
185
  ),
@@ -277,9 +273,7 @@ class RulesResource(SyncAPIResource):
277
273
  if not rule_id:
278
274
  raise ValueError(f"Expected a non-empty value for `rule_id` but received {rule_id!r}")
279
275
  return self._put(
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}",
276
+ f"/cloud/v1/securitygrouprules/{project_id}/{region_id}/{rule_id}",
283
277
  body=maybe_transform(
284
278
  {
285
279
  "direction": direction,
@@ -403,9 +397,7 @@ class AsyncRulesResource(AsyncAPIResource):
403
397
  if not group_id:
404
398
  raise ValueError(f"Expected a non-empty value for `group_id` but received {group_id!r}")
405
399
  return await self._post(
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",
400
+ f"/cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}/rules",
409
401
  body=await async_maybe_transform(
410
402
  {
411
403
  "description": description,
@@ -458,9 +450,7 @@ class AsyncRulesResource(AsyncAPIResource):
458
450
  raise ValueError(f"Expected a non-empty value for `rule_id` but received {rule_id!r}")
459
451
  extra_headers = {"Accept": "*/*", **(extra_headers or {})}
460
452
  return await self._delete(
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}",
453
+ f"/cloud/v1/securitygrouprules/{project_id}/{region_id}/{rule_id}",
464
454
  options=make_request_options(
465
455
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
466
456
  ),
@@ -554,9 +544,7 @@ class AsyncRulesResource(AsyncAPIResource):
554
544
  if not rule_id:
555
545
  raise ValueError(f"Expected a non-empty value for `rule_id` but received {rule_id!r}")
556
546
  return await self._put(
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}",
547
+ f"/cloud/v1/securitygrouprules/{project_id}/{region_id}/{rule_id}",
560
548
  body=await async_maybe_transform(
561
549
  {
562
550
  "direction": direction,
@@ -97,9 +97,7 @@ 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}"
101
- if self._client._base_url_overridden
102
- else f"https://api.gcore.com//cloud/v1/securitygroups/{project_id}/{region_id}",
100
+ f"/cloud/v1/securitygroups/{project_id}/{region_id}",
103
101
  body=maybe_transform(
104
102
  {
105
103
  "security_group": security_group,
@@ -174,9 +172,7 @@ class SecurityGroupsResource(SyncAPIResource):
174
172
  if not group_id:
175
173
  raise ValueError(f"Expected a non-empty value for `group_id` but received {group_id!r}")
176
174
  return self._patch(
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}",
175
+ f"/cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}",
180
176
  body=maybe_transform(
181
177
  {
182
178
  "changed_rules": changed_rules,
@@ -232,9 +228,7 @@ class SecurityGroupsResource(SyncAPIResource):
232
228
  if region_id is None:
233
229
  region_id = self._client._get_cloud_region_id_path_param()
234
230
  return self._get_api_list(
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}",
231
+ f"/cloud/v1/securitygroups/{project_id}/{region_id}",
238
232
  page=SyncOffsetPage[SecurityGroup],
239
233
  options=make_request_options(
240
234
  extra_headers=extra_headers,
@@ -287,9 +281,7 @@ class SecurityGroupsResource(SyncAPIResource):
287
281
  raise ValueError(f"Expected a non-empty value for `group_id` but received {group_id!r}")
288
282
  extra_headers = {"Accept": "*/*", **(extra_headers or {})}
289
283
  return self._delete(
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}",
284
+ f"/cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}",
293
285
  options=make_request_options(
294
286
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
295
287
  ),
@@ -331,9 +323,7 @@ class SecurityGroupsResource(SyncAPIResource):
331
323
  if not group_id:
332
324
  raise ValueError(f"Expected a non-empty value for `group_id` but received {group_id!r}")
333
325
  return self._post(
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",
326
+ f"/cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}/copy",
337
327
  body=maybe_transform({"name": name}, security_group_copy_params.SecurityGroupCopyParams),
338
328
  options=make_request_options(
339
329
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
@@ -373,9 +363,7 @@ class SecurityGroupsResource(SyncAPIResource):
373
363
  if not group_id:
374
364
  raise ValueError(f"Expected a non-empty value for `group_id` but received {group_id!r}")
375
365
  return self._get(
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}",
366
+ f"/cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}",
379
367
  options=make_request_options(
380
368
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
381
369
  ),
@@ -414,9 +402,7 @@ class SecurityGroupsResource(SyncAPIResource):
414
402
  if not group_id:
415
403
  raise ValueError(f"Expected a non-empty value for `group_id` but received {group_id!r}")
416
404
  return self._post(
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",
405
+ f"/cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}/revert",
420
406
  options=make_request_options(
421
407
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
422
408
  ),
@@ -483,9 +469,7 @@ class AsyncSecurityGroupsResource(AsyncAPIResource):
483
469
  if region_id is None:
484
470
  region_id = self._client._get_cloud_region_id_path_param()
485
471
  return await self._post(
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}",
472
+ f"/cloud/v1/securitygroups/{project_id}/{region_id}",
489
473
  body=await async_maybe_transform(
490
474
  {
491
475
  "security_group": security_group,
@@ -560,9 +544,7 @@ class AsyncSecurityGroupsResource(AsyncAPIResource):
560
544
  if not group_id:
561
545
  raise ValueError(f"Expected a non-empty value for `group_id` but received {group_id!r}")
562
546
  return await self._patch(
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}",
547
+ f"/cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}",
566
548
  body=await async_maybe_transform(
567
549
  {
568
550
  "changed_rules": changed_rules,
@@ -618,9 +600,7 @@ class AsyncSecurityGroupsResource(AsyncAPIResource):
618
600
  if region_id is None:
619
601
  region_id = self._client._get_cloud_region_id_path_param()
620
602
  return self._get_api_list(
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}",
603
+ f"/cloud/v1/securitygroups/{project_id}/{region_id}",
624
604
  page=AsyncOffsetPage[SecurityGroup],
625
605
  options=make_request_options(
626
606
  extra_headers=extra_headers,
@@ -673,9 +653,7 @@ class AsyncSecurityGroupsResource(AsyncAPIResource):
673
653
  raise ValueError(f"Expected a non-empty value for `group_id` but received {group_id!r}")
674
654
  extra_headers = {"Accept": "*/*", **(extra_headers or {})}
675
655
  return await self._delete(
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}",
656
+ f"/cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}",
679
657
  options=make_request_options(
680
658
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
681
659
  ),
@@ -717,9 +695,7 @@ class AsyncSecurityGroupsResource(AsyncAPIResource):
717
695
  if not group_id:
718
696
  raise ValueError(f"Expected a non-empty value for `group_id` but received {group_id!r}")
719
697
  return await self._post(
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",
698
+ f"/cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}/copy",
723
699
  body=await async_maybe_transform({"name": name}, security_group_copy_params.SecurityGroupCopyParams),
724
700
  options=make_request_options(
725
701
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
@@ -759,9 +735,7 @@ class AsyncSecurityGroupsResource(AsyncAPIResource):
759
735
  if not group_id:
760
736
  raise ValueError(f"Expected a non-empty value for `group_id` but received {group_id!r}")
761
737
  return await self._get(
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}",
738
+ f"/cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}",
765
739
  options=make_request_options(
766
740
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
767
741
  ),
@@ -800,9 +774,7 @@ class AsyncSecurityGroupsResource(AsyncAPIResource):
800
774
  if not group_id:
801
775
  raise ValueError(f"Expected a non-empty value for `group_id` but received {group_id!r}")
802
776
  return await self._post(
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",
777
+ f"/cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}/revert",
806
778
  options=make_request_options(
807
779
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
808
780
  ),
@@ -90,9 +90,7 @@ class SSHKeysResource(SyncAPIResource):
90
90
  if project_id is None:
91
91
  project_id = self._client._get_cloud_project_id_path_param()
92
92
  return self._post(
93
- f"/cloud/v1/ssh_keys/{project_id}"
94
- if self._client._base_url_overridden
95
- else f"https://api.gcore.com//cloud/v1/ssh_keys/{project_id}",
93
+ f"/cloud/v1/ssh_keys/{project_id}",
96
94
  body=maybe_transform(
97
95
  {
98
96
  "name": name,
@@ -143,9 +141,7 @@ class SSHKeysResource(SyncAPIResource):
143
141
  if not ssh_key_id:
144
142
  raise ValueError(f"Expected a non-empty value for `ssh_key_id` but received {ssh_key_id!r}")
145
143
  return self._patch(
146
- f"/cloud/v1/ssh_keys/{project_id}/{ssh_key_id}"
147
- if self._client._base_url_overridden
148
- else f"https://api.gcore.com//cloud/v1/ssh_keys/{project_id}/{ssh_key_id}",
144
+ f"/cloud/v1/ssh_keys/{project_id}/{ssh_key_id}",
149
145
  body=maybe_transform({"shared_in_project": shared_in_project}, ssh_key_update_params.SSHKeyUpdateParams),
150
146
  options=make_request_options(
151
147
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
@@ -190,9 +186,7 @@ class SSHKeysResource(SyncAPIResource):
190
186
  if project_id is None:
191
187
  project_id = self._client._get_cloud_project_id_path_param()
192
188
  return self._get_api_list(
193
- f"/cloud/v1/ssh_keys/{project_id}"
194
- if self._client._base_url_overridden
195
- else f"https://api.gcore.com//cloud/v1/ssh_keys/{project_id}",
189
+ f"/cloud/v1/ssh_keys/{project_id}",
196
190
  page=SyncOffsetPage[SSHKey],
197
191
  options=make_request_options(
198
192
  extra_headers=extra_headers,
@@ -245,9 +239,7 @@ class SSHKeysResource(SyncAPIResource):
245
239
  raise ValueError(f"Expected a non-empty value for `ssh_key_id` but received {ssh_key_id!r}")
246
240
  extra_headers = {"Accept": "*/*", **(extra_headers or {})}
247
241
  return self._delete(
248
- f"/cloud/v1/ssh_keys/{project_id}/{ssh_key_id}"
249
- if self._client._base_url_overridden
250
- else f"https://api.gcore.com//cloud/v1/ssh_keys/{project_id}/{ssh_key_id}",
242
+ f"/cloud/v1/ssh_keys/{project_id}/{ssh_key_id}",
251
243
  options=make_request_options(
252
244
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
253
245
  ),
@@ -287,9 +279,7 @@ class SSHKeysResource(SyncAPIResource):
287
279
  if not ssh_key_id:
288
280
  raise ValueError(f"Expected a non-empty value for `ssh_key_id` but received {ssh_key_id!r}")
289
281
  return self._get(
290
- f"/cloud/v1/ssh_keys/{project_id}/{ssh_key_id}"
291
- if self._client._base_url_overridden
292
- else f"https://api.gcore.com//cloud/v1/ssh_keys/{project_id}/{ssh_key_id}",
282
+ f"/cloud/v1/ssh_keys/{project_id}/{ssh_key_id}",
293
283
  options=make_request_options(
294
284
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
295
285
  ),
@@ -362,9 +352,7 @@ class AsyncSSHKeysResource(AsyncAPIResource):
362
352
  if project_id is None:
363
353
  project_id = self._client._get_cloud_project_id_path_param()
364
354
  return await self._post(
365
- f"/cloud/v1/ssh_keys/{project_id}"
366
- if self._client._base_url_overridden
367
- else f"https://api.gcore.com//cloud/v1/ssh_keys/{project_id}",
355
+ f"/cloud/v1/ssh_keys/{project_id}",
368
356
  body=await async_maybe_transform(
369
357
  {
370
358
  "name": name,
@@ -415,9 +403,7 @@ class AsyncSSHKeysResource(AsyncAPIResource):
415
403
  if not ssh_key_id:
416
404
  raise ValueError(f"Expected a non-empty value for `ssh_key_id` but received {ssh_key_id!r}")
417
405
  return await self._patch(
418
- f"/cloud/v1/ssh_keys/{project_id}/{ssh_key_id}"
419
- if self._client._base_url_overridden
420
- else f"https://api.gcore.com//cloud/v1/ssh_keys/{project_id}/{ssh_key_id}",
406
+ f"/cloud/v1/ssh_keys/{project_id}/{ssh_key_id}",
421
407
  body=await async_maybe_transform(
422
408
  {"shared_in_project": shared_in_project}, ssh_key_update_params.SSHKeyUpdateParams
423
409
  ),
@@ -464,9 +450,7 @@ class AsyncSSHKeysResource(AsyncAPIResource):
464
450
  if project_id is None:
465
451
  project_id = self._client._get_cloud_project_id_path_param()
466
452
  return self._get_api_list(
467
- f"/cloud/v1/ssh_keys/{project_id}"
468
- if self._client._base_url_overridden
469
- else f"https://api.gcore.com//cloud/v1/ssh_keys/{project_id}",
453
+ f"/cloud/v1/ssh_keys/{project_id}",
470
454
  page=AsyncOffsetPage[SSHKey],
471
455
  options=make_request_options(
472
456
  extra_headers=extra_headers,
@@ -519,9 +503,7 @@ class AsyncSSHKeysResource(AsyncAPIResource):
519
503
  raise ValueError(f"Expected a non-empty value for `ssh_key_id` but received {ssh_key_id!r}")
520
504
  extra_headers = {"Accept": "*/*", **(extra_headers or {})}
521
505
  return await self._delete(
522
- f"/cloud/v1/ssh_keys/{project_id}/{ssh_key_id}"
523
- if self._client._base_url_overridden
524
- else f"https://api.gcore.com//cloud/v1/ssh_keys/{project_id}/{ssh_key_id}",
506
+ f"/cloud/v1/ssh_keys/{project_id}/{ssh_key_id}",
525
507
  options=make_request_options(
526
508
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
527
509
  ),
@@ -561,9 +543,7 @@ class AsyncSSHKeysResource(AsyncAPIResource):
561
543
  if not ssh_key_id:
562
544
  raise ValueError(f"Expected a non-empty value for `ssh_key_id` but received {ssh_key_id!r}")
563
545
  return await self._get(
564
- f"/cloud/v1/ssh_keys/{project_id}/{ssh_key_id}"
565
- if self._client._base_url_overridden
566
- else f"https://api.gcore.com//cloud/v1/ssh_keys/{project_id}/{ssh_key_id}",
546
+ f"/cloud/v1/ssh_keys/{project_id}/{ssh_key_id}",
567
547
  options=make_request_options(
568
548
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
569
549
  ),