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 ImagesResource(SyncAPIResource):
79
79
  if region_id is None:
80
80
  region_id = self._client._get_cloud_region_id_path_param()
81
81
  return self._get(
82
- f"/cloud/v3/gpu/baremetal/{project_id}/{region_id}/images"
83
- if self._client._base_url_overridden
84
- else f"https://api.gcore.com//cloud/v3/gpu/baremetal/{project_id}/{region_id}/images",
82
+ f"/cloud/v3/gpu/baremetal/{project_id}/{region_id}/images",
85
83
  options=make_request_options(
86
84
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
87
85
  ),
@@ -126,9 +124,7 @@ class ImagesResource(SyncAPIResource):
126
124
  if not image_id:
127
125
  raise ValueError(f"Expected a non-empty value for `image_id` but received {image_id!r}")
128
126
  return self._delete(
129
- f"/cloud/v3/gpu/baremetal/{project_id}/{region_id}/images/{image_id}"
130
- if self._client._base_url_overridden
131
- else f"https://api.gcore.com//cloud/v3/gpu/baremetal/{project_id}/{region_id}/images/{image_id}",
127
+ f"/cloud/v3/gpu/baremetal/{project_id}/{region_id}/images/{image_id}",
132
128
  options=make_request_options(
133
129
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
134
130
  ),
@@ -142,6 +138,7 @@ class ImagesResource(SyncAPIResource):
142
138
  project_id: int | None = None,
143
139
  region_id: int | None = None,
144
140
  polling_interval_seconds: int | Omit = omit,
141
+ polling_timeout_seconds: int | Omit = omit,
145
142
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
146
143
  # The extra values given here take precedence over values defined on the client or passed to this method.
147
144
  extra_headers: Headers | None = None,
@@ -169,6 +166,7 @@ class ImagesResource(SyncAPIResource):
169
166
  extra_query=extra_query,
170
167
  extra_body=extra_body,
171
168
  polling_interval_seconds=polling_interval_seconds,
169
+ polling_timeout_seconds=polling_timeout_seconds,
172
170
  )
173
171
 
174
172
  def get(
@@ -209,9 +207,7 @@ class ImagesResource(SyncAPIResource):
209
207
  if not image_id:
210
208
  raise ValueError(f"Expected a non-empty value for `image_id` but received {image_id!r}")
211
209
  return self._get(
212
- f"/cloud/v3/gpu/baremetal/{project_id}/{region_id}/images/{image_id}"
213
- if self._client._base_url_overridden
214
- else f"https://api.gcore.com//cloud/v3/gpu/baremetal/{project_id}/{region_id}/images/{image_id}",
210
+ f"/cloud/v3/gpu/baremetal/{project_id}/{region_id}/images/{image_id}",
215
211
  options=make_request_options(
216
212
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
217
213
  ),
@@ -286,9 +282,7 @@ class ImagesResource(SyncAPIResource):
286
282
  if region_id is None:
287
283
  region_id = self._client._get_cloud_region_id_path_param()
288
284
  return self._post(
289
- f"/cloud/v3/gpu/baremetal/{project_id}/{region_id}/images"
290
- if self._client._base_url_overridden
291
- else f"https://api.gcore.com//cloud/v3/gpu/baremetal/{project_id}/{region_id}/images",
285
+ f"/cloud/v3/gpu/baremetal/{project_id}/{region_id}/images",
292
286
  body=maybe_transform(
293
287
  {
294
288
  "name": name,
@@ -326,6 +320,7 @@ class ImagesResource(SyncAPIResource):
326
320
  ssh_key: Literal["allow", "deny", "required"] | Omit = omit,
327
321
  tags: Dict[str, str] | Omit = omit,
328
322
  polling_interval_seconds: int | Omit = omit,
323
+ polling_timeout_seconds: int | Omit = omit,
329
324
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
330
325
  # The extra values given here take precedence over values defined on the client or passed to this method.
331
326
  extra_headers: Headers | None = None,
@@ -362,6 +357,7 @@ class ImagesResource(SyncAPIResource):
362
357
  extra_query=extra_query,
363
358
  extra_body=extra_body,
364
359
  polling_interval_seconds=polling_interval_seconds,
360
+ polling_timeout_seconds=polling_timeout_seconds,
365
361
  )
366
362
  if not task.created_resources or not task.created_resources.images:
367
363
  raise ValueError("No image was created")
@@ -430,9 +426,7 @@ class AsyncImagesResource(AsyncAPIResource):
430
426
  if region_id is None:
431
427
  region_id = self._client._get_cloud_region_id_path_param()
432
428
  return await self._get(
433
- f"/cloud/v3/gpu/baremetal/{project_id}/{region_id}/images"
434
- if self._client._base_url_overridden
435
- else f"https://api.gcore.com//cloud/v3/gpu/baremetal/{project_id}/{region_id}/images",
429
+ f"/cloud/v3/gpu/baremetal/{project_id}/{region_id}/images",
436
430
  options=make_request_options(
437
431
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
438
432
  ),
@@ -477,9 +471,7 @@ class AsyncImagesResource(AsyncAPIResource):
477
471
  if not image_id:
478
472
  raise ValueError(f"Expected a non-empty value for `image_id` but received {image_id!r}")
479
473
  return await self._delete(
480
- f"/cloud/v3/gpu/baremetal/{project_id}/{region_id}/images/{image_id}"
481
- if self._client._base_url_overridden
482
- else f"https://api.gcore.com//cloud/v3/gpu/baremetal/{project_id}/{region_id}/images/{image_id}",
474
+ f"/cloud/v3/gpu/baremetal/{project_id}/{region_id}/images/{image_id}",
483
475
  options=make_request_options(
484
476
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
485
477
  ),
@@ -493,6 +485,7 @@ class AsyncImagesResource(AsyncAPIResource):
493
485
  project_id: int | None = None,
494
486
  region_id: int | None = None,
495
487
  polling_interval_seconds: int | Omit = omit,
488
+ polling_timeout_seconds: int | Omit = omit,
496
489
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
497
490
  # The extra values given here take precedence over values defined on the client or passed to this method.
498
491
  extra_headers: Headers | None = None,
@@ -520,6 +513,7 @@ class AsyncImagesResource(AsyncAPIResource):
520
513
  extra_query=extra_query,
521
514
  extra_body=extra_body,
522
515
  polling_interval_seconds=polling_interval_seconds,
516
+ polling_timeout_seconds=polling_timeout_seconds,
523
517
  )
524
518
 
525
519
  async def get(
@@ -560,9 +554,7 @@ class AsyncImagesResource(AsyncAPIResource):
560
554
  if not image_id:
561
555
  raise ValueError(f"Expected a non-empty value for `image_id` but received {image_id!r}")
562
556
  return await self._get(
563
- f"/cloud/v3/gpu/baremetal/{project_id}/{region_id}/images/{image_id}"
564
- if self._client._base_url_overridden
565
- else f"https://api.gcore.com//cloud/v3/gpu/baremetal/{project_id}/{region_id}/images/{image_id}",
557
+ f"/cloud/v3/gpu/baremetal/{project_id}/{region_id}/images/{image_id}",
566
558
  options=make_request_options(
567
559
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
568
560
  ),
@@ -637,9 +629,7 @@ class AsyncImagesResource(AsyncAPIResource):
637
629
  if region_id is None:
638
630
  region_id = self._client._get_cloud_region_id_path_param()
639
631
  return await self._post(
640
- f"/cloud/v3/gpu/baremetal/{project_id}/{region_id}/images"
641
- if self._client._base_url_overridden
642
- else f"https://api.gcore.com//cloud/v3/gpu/baremetal/{project_id}/{region_id}/images",
632
+ f"/cloud/v3/gpu/baremetal/{project_id}/{region_id}/images",
643
633
  body=await async_maybe_transform(
644
634
  {
645
635
  "name": name,
@@ -677,6 +667,7 @@ class AsyncImagesResource(AsyncAPIResource):
677
667
  ssh_key: Literal["allow", "deny", "required"] | Omit = omit,
678
668
  tags: Dict[str, str] | Omit = omit,
679
669
  polling_interval_seconds: int | Omit = omit,
670
+ polling_timeout_seconds: int | Omit = omit,
680
671
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
681
672
  # The extra values given here take precedence over values defined on the client or passed to this method.
682
673
  extra_headers: Headers | None = None,
@@ -713,6 +704,7 @@ class AsyncImagesResource(AsyncAPIResource):
713
704
  extra_query=extra_query,
714
705
  extra_body=extra_body,
715
706
  polling_interval_seconds=polling_interval_seconds,
707
+ polling_timeout_seconds=polling_timeout_seconds,
716
708
  )
717
709
  if not task.created_resources or not task.created_resources.images:
718
710
  raise ValueError("No image was created")
@@ -71,9 +71,7 @@ class InterfacesResource(SyncAPIResource):
71
71
  if not cluster_id:
72
72
  raise ValueError(f"Expected a non-empty value for `cluster_id` but received {cluster_id!r}")
73
73
  return self._get(
74
- f"/cloud/v1/ai/clusters/{project_id}/{region_id}/{cluster_id}/interfaces"
75
- if self._client._base_url_overridden
76
- else f"https://api.gcore.com//cloud/v1/ai/clusters/{project_id}/{region_id}/{cluster_id}/interfaces",
74
+ f"/cloud/v1/ai/clusters/{project_id}/{region_id}/{cluster_id}/interfaces",
77
75
  options=make_request_options(
78
76
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
79
77
  ),
@@ -133,9 +131,7 @@ class AsyncInterfacesResource(AsyncAPIResource):
133
131
  if not cluster_id:
134
132
  raise ValueError(f"Expected a non-empty value for `cluster_id` but received {cluster_id!r}")
135
133
  return await self._get(
136
- f"/cloud/v1/ai/clusters/{project_id}/{region_id}/{cluster_id}/interfaces"
137
- if self._client._base_url_overridden
138
- else f"https://api.gcore.com//cloud/v1/ai/clusters/{project_id}/{region_id}/{cluster_id}/interfaces",
134
+ f"/cloud/v1/ai/clusters/{project_id}/{region_id}/{cluster_id}/interfaces",
139
135
  options=make_request_options(
140
136
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
141
137
  ),
@@ -143,9 +143,7 @@ class ServersResource(SyncAPIResource):
143
143
  if not cluster_id:
144
144
  raise ValueError(f"Expected a non-empty value for `cluster_id` but received {cluster_id!r}")
145
145
  return self._get_api_list(
146
- f"/cloud/v3/gpu/baremetal/{project_id}/{region_id}/clusters/{cluster_id}/servers"
147
- if self._client._base_url_overridden
148
- else f"https://api.gcore.com//cloud/v3/gpu/baremetal/{project_id}/{region_id}/clusters/{cluster_id}/servers",
146
+ f"/cloud/v3/gpu/baremetal/{project_id}/{region_id}/clusters/{cluster_id}/servers",
149
147
  page=SyncOffsetPage[GPUBaremetalClusterServer],
150
148
  options=make_request_options(
151
149
  extra_headers=extra_headers,
@@ -211,9 +209,7 @@ class ServersResource(SyncAPIResource):
211
209
  if not instance_id:
212
210
  raise ValueError(f"Expected a non-empty value for `instance_id` but received {instance_id!r}")
213
211
  return self._delete(
214
- f"/cloud/v1/ai/clusters/gpu/{project_id}/{region_id}/{cluster_id}/node/{instance_id}"
215
- if self._client._base_url_overridden
216
- else f"https://api.gcore.com//cloud/v1/ai/clusters/gpu/{project_id}/{region_id}/{cluster_id}/node/{instance_id}",
212
+ f"/cloud/v1/ai/clusters/gpu/{project_id}/{region_id}/{cluster_id}/node/{instance_id}",
217
213
  options=make_request_options(
218
214
  extra_headers=extra_headers,
219
215
  extra_query=extra_query,
@@ -233,6 +229,7 @@ class ServersResource(SyncAPIResource):
233
229
  cluster_id: str,
234
230
  delete_floatings: bool | Omit = omit,
235
231
  polling_interval_seconds: int | Omit = omit,
232
+ polling_timeout_seconds: int | Omit = omit,
236
233
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
237
234
  # The extra values given here take precedence over values defined on the client or passed to this method.
238
235
  extra_headers: Headers | None = None,
@@ -262,6 +259,7 @@ class ServersResource(SyncAPIResource):
262
259
  extra_query=extra_query,
263
260
  extra_body=extra_body,
264
261
  polling_interval_seconds=polling_interval_seconds,
262
+ polling_timeout_seconds=polling_timeout_seconds,
265
263
  )
266
264
 
267
265
  @overload
@@ -492,9 +490,7 @@ class ServersResource(SyncAPIResource):
492
490
  if not instance_id:
493
491
  raise ValueError(f"Expected a non-empty value for `instance_id` but received {instance_id!r}")
494
492
  return self._post(
495
- f"/cloud/v1/ai/clusters/{project_id}/{region_id}/{instance_id}/attach_interface"
496
- if self._client._base_url_overridden
497
- else f"https://api.gcore.com//cloud/v1/ai/clusters/{project_id}/{region_id}/{instance_id}/attach_interface",
493
+ f"/cloud/v1/ai/clusters/{project_id}/{region_id}/{instance_id}/attach_interface",
498
494
  body=maybe_transform(
499
495
  {
500
496
  "ddos_profile": ddos_profile,
@@ -553,9 +549,7 @@ class ServersResource(SyncAPIResource):
553
549
  if not instance_id:
554
550
  raise ValueError(f"Expected a non-empty value for `instance_id` but received {instance_id!r}")
555
551
  return self._post(
556
- f"/cloud/v1/ai/clusters/{project_id}/{region_id}/{instance_id}/detach_interface"
557
- if self._client._base_url_overridden
558
- else f"https://api.gcore.com//cloud/v1/ai/clusters/{project_id}/{region_id}/{instance_id}/detach_interface",
552
+ f"/cloud/v1/ai/clusters/{project_id}/{region_id}/{instance_id}/detach_interface",
559
553
  body=maybe_transform(
560
554
  {
561
555
  "ip_address": ip_address,
@@ -601,9 +595,7 @@ class ServersResource(SyncAPIResource):
601
595
  if not instance_id:
602
596
  raise ValueError(f"Expected a non-empty value for `instance_id` but received {instance_id!r}")
603
597
  return self._get(
604
- f"/cloud/v1/ai/clusters/{project_id}/{region_id}/{instance_id}/get_console"
605
- if self._client._base_url_overridden
606
- else f"https://api.gcore.com//cloud/v1/ai/clusters/{project_id}/{region_id}/{instance_id}/get_console",
598
+ f"/cloud/v1/ai/clusters/{project_id}/{region_id}/{instance_id}/get_console",
607
599
  options=make_request_options(
608
600
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
609
601
  ),
@@ -642,9 +634,7 @@ class ServersResource(SyncAPIResource):
642
634
  if not instance_id:
643
635
  raise ValueError(f"Expected a non-empty value for `instance_id` but received {instance_id!r}")
644
636
  return self._post(
645
- f"/cloud/v1/ai/clusters/{project_id}/{region_id}/{instance_id}/powercycle"
646
- if self._client._base_url_overridden
647
- else f"https://api.gcore.com//cloud/v1/ai/clusters/{project_id}/{region_id}/{instance_id}/powercycle",
637
+ f"/cloud/v1/ai/clusters/{project_id}/{region_id}/{instance_id}/powercycle",
648
638
  options=make_request_options(
649
639
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
650
640
  ),
@@ -683,9 +673,7 @@ class ServersResource(SyncAPIResource):
683
673
  if not instance_id:
684
674
  raise ValueError(f"Expected a non-empty value for `instance_id` but received {instance_id!r}")
685
675
  return self._post(
686
- f"/cloud/v1/ai/clusters/{project_id}/{region_id}/{instance_id}/reboot"
687
- if self._client._base_url_overridden
688
- else f"https://api.gcore.com//cloud/v1/ai/clusters/{project_id}/{region_id}/{instance_id}/reboot",
676
+ f"/cloud/v1/ai/clusters/{project_id}/{region_id}/{instance_id}/reboot",
689
677
  options=make_request_options(
690
678
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
691
679
  ),
@@ -802,9 +790,7 @@ class AsyncServersResource(AsyncAPIResource):
802
790
  if not cluster_id:
803
791
  raise ValueError(f"Expected a non-empty value for `cluster_id` but received {cluster_id!r}")
804
792
  return self._get_api_list(
805
- f"/cloud/v3/gpu/baremetal/{project_id}/{region_id}/clusters/{cluster_id}/servers"
806
- if self._client._base_url_overridden
807
- else f"https://api.gcore.com//cloud/v3/gpu/baremetal/{project_id}/{region_id}/clusters/{cluster_id}/servers",
793
+ f"/cloud/v3/gpu/baremetal/{project_id}/{region_id}/clusters/{cluster_id}/servers",
808
794
  page=AsyncOffsetPage[GPUBaremetalClusterServer],
809
795
  options=make_request_options(
810
796
  extra_headers=extra_headers,
@@ -870,9 +856,7 @@ class AsyncServersResource(AsyncAPIResource):
870
856
  if not instance_id:
871
857
  raise ValueError(f"Expected a non-empty value for `instance_id` but received {instance_id!r}")
872
858
  return await self._delete(
873
- f"/cloud/v1/ai/clusters/gpu/{project_id}/{region_id}/{cluster_id}/node/{instance_id}"
874
- if self._client._base_url_overridden
875
- else f"https://api.gcore.com//cloud/v1/ai/clusters/gpu/{project_id}/{region_id}/{cluster_id}/node/{instance_id}",
859
+ f"/cloud/v1/ai/clusters/gpu/{project_id}/{region_id}/{cluster_id}/node/{instance_id}",
876
860
  options=make_request_options(
877
861
  extra_headers=extra_headers,
878
862
  extra_query=extra_query,
@@ -894,6 +878,7 @@ class AsyncServersResource(AsyncAPIResource):
894
878
  cluster_id: str,
895
879
  delete_floatings: bool | Omit = omit,
896
880
  polling_interval_seconds: int | Omit = omit,
881
+ polling_timeout_seconds: int | Omit = omit,
897
882
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
898
883
  # The extra values given here take precedence over values defined on the client or passed to this method.
899
884
  extra_headers: Headers | None = None,
@@ -923,6 +908,7 @@ class AsyncServersResource(AsyncAPIResource):
923
908
  extra_query=extra_query,
924
909
  extra_body=extra_body,
925
910
  polling_interval_seconds=polling_interval_seconds,
911
+ polling_timeout_seconds=polling_timeout_seconds,
926
912
  )
927
913
 
928
914
  @overload
@@ -1153,9 +1139,7 @@ class AsyncServersResource(AsyncAPIResource):
1153
1139
  if not instance_id:
1154
1140
  raise ValueError(f"Expected a non-empty value for `instance_id` but received {instance_id!r}")
1155
1141
  return await self._post(
1156
- f"/cloud/v1/ai/clusters/{project_id}/{region_id}/{instance_id}/attach_interface"
1157
- if self._client._base_url_overridden
1158
- else f"https://api.gcore.com//cloud/v1/ai/clusters/{project_id}/{region_id}/{instance_id}/attach_interface",
1142
+ f"/cloud/v1/ai/clusters/{project_id}/{region_id}/{instance_id}/attach_interface",
1159
1143
  body=await async_maybe_transform(
1160
1144
  {
1161
1145
  "ddos_profile": ddos_profile,
@@ -1214,9 +1198,7 @@ class AsyncServersResource(AsyncAPIResource):
1214
1198
  if not instance_id:
1215
1199
  raise ValueError(f"Expected a non-empty value for `instance_id` but received {instance_id!r}")
1216
1200
  return await self._post(
1217
- f"/cloud/v1/ai/clusters/{project_id}/{region_id}/{instance_id}/detach_interface"
1218
- if self._client._base_url_overridden
1219
- else f"https://api.gcore.com//cloud/v1/ai/clusters/{project_id}/{region_id}/{instance_id}/detach_interface",
1201
+ f"/cloud/v1/ai/clusters/{project_id}/{region_id}/{instance_id}/detach_interface",
1220
1202
  body=await async_maybe_transform(
1221
1203
  {
1222
1204
  "ip_address": ip_address,
@@ -1262,9 +1244,7 @@ class AsyncServersResource(AsyncAPIResource):
1262
1244
  if not instance_id:
1263
1245
  raise ValueError(f"Expected a non-empty value for `instance_id` but received {instance_id!r}")
1264
1246
  return await self._get(
1265
- f"/cloud/v1/ai/clusters/{project_id}/{region_id}/{instance_id}/get_console"
1266
- if self._client._base_url_overridden
1267
- else f"https://api.gcore.com//cloud/v1/ai/clusters/{project_id}/{region_id}/{instance_id}/get_console",
1247
+ f"/cloud/v1/ai/clusters/{project_id}/{region_id}/{instance_id}/get_console",
1268
1248
  options=make_request_options(
1269
1249
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
1270
1250
  ),
@@ -1303,9 +1283,7 @@ class AsyncServersResource(AsyncAPIResource):
1303
1283
  if not instance_id:
1304
1284
  raise ValueError(f"Expected a non-empty value for `instance_id` but received {instance_id!r}")
1305
1285
  return await self._post(
1306
- f"/cloud/v1/ai/clusters/{project_id}/{region_id}/{instance_id}/powercycle"
1307
- if self._client._base_url_overridden
1308
- else f"https://api.gcore.com//cloud/v1/ai/clusters/{project_id}/{region_id}/{instance_id}/powercycle",
1286
+ f"/cloud/v1/ai/clusters/{project_id}/{region_id}/{instance_id}/powercycle",
1309
1287
  options=make_request_options(
1310
1288
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
1311
1289
  ),
@@ -1344,9 +1322,7 @@ class AsyncServersResource(AsyncAPIResource):
1344
1322
  if not instance_id:
1345
1323
  raise ValueError(f"Expected a non-empty value for `instance_id` but received {instance_id!r}")
1346
1324
  return await self._post(
1347
- f"/cloud/v1/ai/clusters/{project_id}/{region_id}/{instance_id}/reboot"
1348
- if self._client._base_url_overridden
1349
- else f"https://api.gcore.com//cloud/v1/ai/clusters/{project_id}/{region_id}/{instance_id}/reboot",
1325
+ f"/cloud/v1/ai/clusters/{project_id}/{region_id}/{instance_id}/reboot",
1350
1326
  options=make_request_options(
1351
1327
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
1352
1328
  ),
@@ -84,9 +84,7 @@ class APIKeysResource(SyncAPIResource):
84
84
  if project_id is None:
85
85
  project_id = self._client._get_cloud_project_id_path_param()
86
86
  return self._post(
87
- f"/cloud/v3/inference/{project_id}/api_keys"
88
- if self._client._base_url_overridden
89
- else f"https://api.gcore.com//cloud/v3/inference/{project_id}/api_keys",
87
+ f"/cloud/v3/inference/{project_id}/api_keys",
90
88
  body=maybe_transform(
91
89
  {
92
90
  "name": name,
@@ -137,9 +135,7 @@ class APIKeysResource(SyncAPIResource):
137
135
  if not api_key_name:
138
136
  raise ValueError(f"Expected a non-empty value for `api_key_name` but received {api_key_name!r}")
139
137
  return self._patch(
140
- f"/cloud/v3/inference/{project_id}/api_keys/{api_key_name}"
141
- if self._client._base_url_overridden
142
- else f"https://api.gcore.com//cloud/v3/inference/{project_id}/api_keys/{api_key_name}",
138
+ f"/cloud/v3/inference/{project_id}/api_keys/{api_key_name}",
143
139
  body=maybe_transform({"description": description}, api_key_update_params.APIKeyUpdateParams),
144
140
  options=make_request_options(
145
141
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
@@ -182,9 +178,7 @@ class APIKeysResource(SyncAPIResource):
182
178
  if project_id is None:
183
179
  project_id = self._client._get_cloud_project_id_path_param()
184
180
  return self._get_api_list(
185
- f"/cloud/v3/inference/{project_id}/api_keys"
186
- if self._client._base_url_overridden
187
- else f"https://api.gcore.com//cloud/v3/inference/{project_id}/api_keys",
181
+ f"/cloud/v3/inference/{project_id}/api_keys",
188
182
  page=SyncOffsetPage[InferenceAPIKey],
189
183
  options=make_request_options(
190
184
  extra_headers=extra_headers,
@@ -239,9 +233,7 @@ class APIKeysResource(SyncAPIResource):
239
233
  raise ValueError(f"Expected a non-empty value for `api_key_name` but received {api_key_name!r}")
240
234
  extra_headers = {"Accept": "*/*", **(extra_headers or {})}
241
235
  return self._delete(
242
- f"/cloud/v3/inference/{project_id}/api_keys/{api_key_name}"
243
- if self._client._base_url_overridden
244
- else f"https://api.gcore.com//cloud/v3/inference/{project_id}/api_keys/{api_key_name}",
236
+ f"/cloud/v3/inference/{project_id}/api_keys/{api_key_name}",
245
237
  options=make_request_options(
246
238
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
247
239
  ),
@@ -281,9 +273,7 @@ class APIKeysResource(SyncAPIResource):
281
273
  if not api_key_name:
282
274
  raise ValueError(f"Expected a non-empty value for `api_key_name` but received {api_key_name!r}")
283
275
  return self._get(
284
- f"/cloud/v3/inference/{project_id}/api_keys/{api_key_name}"
285
- if self._client._base_url_overridden
286
- else f"https://api.gcore.com//cloud/v3/inference/{project_id}/api_keys/{api_key_name}",
276
+ f"/cloud/v3/inference/{project_id}/api_keys/{api_key_name}",
287
277
  options=make_request_options(
288
278
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
289
279
  ),
@@ -350,9 +340,7 @@ class AsyncAPIKeysResource(AsyncAPIResource):
350
340
  if project_id is None:
351
341
  project_id = self._client._get_cloud_project_id_path_param()
352
342
  return await self._post(
353
- f"/cloud/v3/inference/{project_id}/api_keys"
354
- if self._client._base_url_overridden
355
- else f"https://api.gcore.com//cloud/v3/inference/{project_id}/api_keys",
343
+ f"/cloud/v3/inference/{project_id}/api_keys",
356
344
  body=await async_maybe_transform(
357
345
  {
358
346
  "name": name,
@@ -403,9 +391,7 @@ class AsyncAPIKeysResource(AsyncAPIResource):
403
391
  if not api_key_name:
404
392
  raise ValueError(f"Expected a non-empty value for `api_key_name` but received {api_key_name!r}")
405
393
  return await self._patch(
406
- f"/cloud/v3/inference/{project_id}/api_keys/{api_key_name}"
407
- if self._client._base_url_overridden
408
- else f"https://api.gcore.com//cloud/v3/inference/{project_id}/api_keys/{api_key_name}",
394
+ f"/cloud/v3/inference/{project_id}/api_keys/{api_key_name}",
409
395
  body=await async_maybe_transform({"description": description}, api_key_update_params.APIKeyUpdateParams),
410
396
  options=make_request_options(
411
397
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
@@ -448,9 +434,7 @@ class AsyncAPIKeysResource(AsyncAPIResource):
448
434
  if project_id is None:
449
435
  project_id = self._client._get_cloud_project_id_path_param()
450
436
  return self._get_api_list(
451
- f"/cloud/v3/inference/{project_id}/api_keys"
452
- if self._client._base_url_overridden
453
- else f"https://api.gcore.com//cloud/v3/inference/{project_id}/api_keys",
437
+ f"/cloud/v3/inference/{project_id}/api_keys",
454
438
  page=AsyncOffsetPage[InferenceAPIKey],
455
439
  options=make_request_options(
456
440
  extra_headers=extra_headers,
@@ -505,9 +489,7 @@ class AsyncAPIKeysResource(AsyncAPIResource):
505
489
  raise ValueError(f"Expected a non-empty value for `api_key_name` but received {api_key_name!r}")
506
490
  extra_headers = {"Accept": "*/*", **(extra_headers or {})}
507
491
  return await self._delete(
508
- f"/cloud/v3/inference/{project_id}/api_keys/{api_key_name}"
509
- if self._client._base_url_overridden
510
- else f"https://api.gcore.com//cloud/v3/inference/{project_id}/api_keys/{api_key_name}",
492
+ f"/cloud/v3/inference/{project_id}/api_keys/{api_key_name}",
511
493
  options=make_request_options(
512
494
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
513
495
  ),
@@ -547,9 +529,7 @@ class AsyncAPIKeysResource(AsyncAPIResource):
547
529
  if not api_key_name:
548
530
  raise ValueError(f"Expected a non-empty value for `api_key_name` but received {api_key_name!r}")
549
531
  return await self._get(
550
- f"/cloud/v3/inference/{project_id}/api_keys/{api_key_name}"
551
- if self._client._base_url_overridden
552
- else f"https://api.gcore.com//cloud/v3/inference/{project_id}/api_keys/{api_key_name}",
532
+ f"/cloud/v3/inference/{project_id}/api_keys/{api_key_name}",
553
533
  options=make_request_options(
554
534
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
555
535
  ),