gcore 0.14.0__py3-none-any.whl → 0.16.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 (207) hide show
  1. gcore/_client.py +2 -8
  2. gcore/_version.py +1 -1
  3. gcore/resources/cdn/audit_log.py +4 -12
  4. gcore/resources/cdn/cdn.py +10 -18
  5. gcore/resources/cdn/certificates.py +16 -40
  6. gcore/resources/cdn/ip_ranges.py +4 -8
  7. gcore/resources/cdn/logs/__init__.py +0 -14
  8. gcore/resources/cdn/logs/logs.py +4 -44
  9. gcore/resources/cdn/logs_uploader/configs.py +14 -42
  10. gcore/resources/cdn/logs_uploader/policies.py +14 -42
  11. gcore/resources/cdn/logs_uploader/targets.py +14 -42
  12. gcore/resources/cdn/metrics.py +2 -6
  13. gcore/resources/cdn/network_capacity.py +2 -6
  14. gcore/resources/cdn/origin_groups.py +12 -32
  15. gcore/resources/cdn/resources/resources.py +18 -46
  16. gcore/resources/cdn/resources/rules.py +12 -36
  17. gcore/resources/cdn/resources/shield.py +4 -12
  18. gcore/resources/cdn/rule_templates.py +12 -36
  19. gcore/resources/cdn/shields.py +2 -6
  20. gcore/resources/cdn/statistics.py +16 -40
  21. gcore/resources/cdn/trusted_ca_certificates.py +10 -30
  22. gcore/resources/cloud/audit_logs.py +2 -6
  23. gcore/resources/cloud/baremetal/flavors.py +2 -6
  24. gcore/resources/cloud/baremetal/images.py +2 -6
  25. gcore/resources/cloud/baremetal/servers.py +6 -18
  26. gcore/resources/cloud/billing_reservations.py +25 -208
  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 +37 -44
  30. gcore/resources/cloud/floating_ips.py +14 -42
  31. gcore/resources/cloud/gpu_baremetal_clusters/flavors.py +2 -6
  32. gcore/resources/cloud/gpu_baremetal_clusters/gpu_baremetal_clusters.py +18 -54
  33. gcore/resources/cloud/gpu_baremetal_clusters/images.py +8 -24
  34. gcore/resources/cloud/gpu_baremetal_clusters/interfaces.py +2 -6
  35. gcore/resources/cloud/gpu_baremetal_clusters/servers.py +14 -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 +16 -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 +12 -36
  47. gcore/resources/cloud/instances/instances.py +99 -94
  48. gcore/resources/cloud/instances/interfaces.py +6 -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 +10 -30
  59. gcore/resources/cloud/load_balancers/l7_policies/rules.py +10 -30
  60. gcore/resources/cloud/load_balancers/listeners.py +26 -46
  61. gcore/resources/cloud/load_balancers/load_balancers.py +493 -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 +26 -46
  66. gcore/resources/cloud/load_balancers/statuses.py +10 -18
  67. gcore/resources/cloud/networks/networks.py +10 -30
  68. gcore/resources/cloud/networks/routers.py +14 -42
  69. gcore/resources/cloud/networks/subnets.py +15 -37
  70. gcore/resources/cloud/placement_groups.py +8 -24
  71. gcore/resources/cloud/projects.py +10 -22
  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 +114 -25
  81. gcore/resources/cloud/reserved_fixed_ips/vip.py +10 -30
  82. gcore/resources/cloud/secrets.py +8 -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 +14 -26
  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 +20 -60
  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 +12 -26
  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/cdn_resource.py +20 -0
  154. gcore/types/cdn/logs/__init__.py +0 -4
  155. gcore/types/cdn/logs_aggregated_stats.py +1 -1
  156. gcore/types/cdn/resource_create_params.py +20 -0
  157. gcore/types/cdn/resource_replace_params.py +20 -0
  158. gcore/types/cdn/resource_update_params.py +20 -0
  159. gcore/types/cdn/resources/cdn_resource_rule.py +20 -0
  160. gcore/types/cdn/resources/rule_create_params.py +20 -0
  161. gcore/types/cdn/resources/rule_replace_params.py +20 -0
  162. gcore/types/cdn/resources/rule_update_params.py +20 -0
  163. gcore/types/cdn/rule_template.py +20 -0
  164. gcore/types/cdn/rule_template_create_params.py +20 -0
  165. gcore/types/cdn/rule_template_replace_params.py +20 -0
  166. gcore/types/cdn/rule_template_update_params.py +20 -0
  167. gcore/types/cloud/__init__.py +2 -0
  168. gcore/types/cloud/billing_reservation.py +52 -114
  169. gcore/types/cloud/billing_reservation_list_params.py +4 -42
  170. gcore/types/cloud/billing_reservations.py +16 -0
  171. gcore/types/cloud/cost_report_get_aggregated_params.py +2 -2
  172. gcore/types/cloud/cost_report_get_detailed_params.py +2 -2
  173. gcore/types/cloud/gpu_baremetal_clusters/gpu_baremetal_flavor.py +12 -0
  174. gcore/types/cloud/inference/applications/__init__.py +1 -1
  175. gcore/types/cloud/inference/applications/{deployment_patch_params.py → deployment_update_params.py} +2 -2
  176. gcore/types/cloud/instance_list_params.py +1 -1
  177. gcore/types/cloud/instance_update_params.py +31 -3
  178. gcore/types/cloud/load_balancer_create_params.py +1 -1
  179. gcore/types/cloud/load_balancer_listener_detail.py +1 -1
  180. gcore/types/cloud/load_balancers/listener_create_params.py +1 -1
  181. gcore/types/cloud/load_balancers/listener_list_params.py +1 -1
  182. gcore/types/cloud/load_balancers/pool_create_params.py +1 -1
  183. gcore/types/cloud/load_balancers/pool_list_params.py +1 -1
  184. gcore/types/cloud/quota_get_all_response.py +8 -8
  185. gcore/types/cloud/quota_get_by_region_response.py +8 -8
  186. gcore/types/cloud/quotas/request_create_params.py +4 -4
  187. gcore/types/cloud/quotas/request_get_response.py +4 -4
  188. gcore/types/cloud/quotas/request_list_response.py +4 -4
  189. gcore/types/cloud/reserved_fixed_ip_update_params.py +16 -0
  190. gcore/types/cloud/task_list_params.py +3 -3
  191. gcore/types/cloud/usage_report_get_params.py +2 -2
  192. gcore/types/iam/account_overview.py +24 -26
  193. gcore/types/iam/api_token.py +24 -24
  194. gcore/types/iam/api_token_create_params.py +2 -1
  195. gcore/types/iam/api_token_list.py +24 -24
  196. gcore/types/iam/user_detailed.py +15 -15
  197. gcore/types/iam/user_invite.py +2 -4
  198. gcore/types/iam/user_update.py +15 -15
  199. gcore/types/security/profile_create_params.py +2 -2
  200. {gcore-0.14.0.dist-info → gcore-0.16.0.dist-info}/METADATA +1 -1
  201. {gcore-0.14.0.dist-info → gcore-0.16.0.dist-info}/RECORD +203 -205
  202. gcore/resources/cdn/logs/settings.py +0 -1081
  203. gcore/types/cdn/logs/log_settings.py +0 -172
  204. gcore/types/cdn/logs/setting_create_params.py +0 -200
  205. gcore/types/cdn/logs/setting_update_params.py +0 -200
  206. {gcore-0.14.0.dist-info → gcore-0.16.0.dist-info}/WHEEL +0 -0
  207. {gcore-0.14.0.dist-info → gcore-0.16.0.dist-info}/licenses/LICENSE +0 -0
@@ -85,7 +85,7 @@ class RegionsResource(SyncAPIResource):
85
85
  timeout: Override the client-level default timeout for this request, in seconds
86
86
  """
87
87
  return self._get_api_list(
88
- "/cloud/v1/regions" if self._client._base_url_overridden else "https://api.gcore.com//cloud/v1/regions",
88
+ "/cloud/v1/regions",
89
89
  page=SyncOffsetPage[Region],
90
90
  options=make_request_options(
91
91
  extra_headers=extra_headers,
@@ -138,9 +138,7 @@ class RegionsResource(SyncAPIResource):
138
138
  if region_id is None:
139
139
  region_id = self._client._get_cloud_region_id_path_param()
140
140
  return self._get(
141
- f"/cloud/v1/regions/{region_id}"
142
- if self._client._base_url_overridden
143
- else f"https://api.gcore.com//cloud/v1/regions/{region_id}",
141
+ f"/cloud/v1/regions/{region_id}",
144
142
  options=make_request_options(
145
143
  extra_headers=extra_headers,
146
144
  extra_query=extra_query,
@@ -213,7 +211,7 @@ class AsyncRegionsResource(AsyncAPIResource):
213
211
  timeout: Override the client-level default timeout for this request, in seconds
214
212
  """
215
213
  return self._get_api_list(
216
- "/cloud/v1/regions" if self._client._base_url_overridden else "https://api.gcore.com//cloud/v1/regions",
214
+ "/cloud/v1/regions",
217
215
  page=AsyncOffsetPage[Region],
218
216
  options=make_request_options(
219
217
  extra_headers=extra_headers,
@@ -266,9 +264,7 @@ class AsyncRegionsResource(AsyncAPIResource):
266
264
  if region_id is None:
267
265
  region_id = self._client._get_cloud_region_id_path_param()
268
266
  return await self._get(
269
- f"/cloud/v1/regions/{region_id}"
270
- if self._client._base_url_overridden
271
- else f"https://api.gcore.com//cloud/v1/regions/{region_id}",
267
+ f"/cloud/v1/regions/{region_id}",
272
268
  options=make_request_options(
273
269
  extra_headers=extra_headers,
274
270
  extra_query=extra_query,
@@ -72,9 +72,7 @@ class ArtifactsResource(SyncAPIResource):
72
72
  if not repository_name:
73
73
  raise ValueError(f"Expected a non-empty value for `repository_name` but received {repository_name!r}")
74
74
  return self._get(
75
- f"/cloud/v1/registries/{project_id}/{region_id}/{registry_id}/repositories/{repository_name}/artifacts"
76
- if self._client._base_url_overridden
77
- else f"https://api.gcore.com//cloud/v1/registries/{project_id}/{region_id}/{registry_id}/repositories/{repository_name}/artifacts",
75
+ f"/cloud/v1/registries/{project_id}/{region_id}/{registry_id}/repositories/{repository_name}/artifacts",
78
76
  options=make_request_options(
79
77
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
80
78
  ),
@@ -118,9 +116,7 @@ class ArtifactsResource(SyncAPIResource):
118
116
  raise ValueError(f"Expected a non-empty value for `digest` but received {digest!r}")
119
117
  extra_headers = {"Accept": "*/*", **(extra_headers or {})}
120
118
  return self._delete(
121
- f"/cloud/v1/registries/{project_id}/{region_id}/{registry_id}/repositories/{repository_name}/artifacts/{digest}"
122
- if self._client._base_url_overridden
123
- else f"https://api.gcore.com//cloud/v1/registries/{project_id}/{region_id}/{registry_id}/repositories/{repository_name}/artifacts/{digest}",
119
+ f"/cloud/v1/registries/{project_id}/{region_id}/{registry_id}/repositories/{repository_name}/artifacts/{digest}",
124
120
  options=make_request_options(
125
121
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
126
122
  ),
@@ -181,9 +177,7 @@ class AsyncArtifactsResource(AsyncAPIResource):
181
177
  if not repository_name:
182
178
  raise ValueError(f"Expected a non-empty value for `repository_name` but received {repository_name!r}")
183
179
  return await self._get(
184
- f"/cloud/v1/registries/{project_id}/{region_id}/{registry_id}/repositories/{repository_name}/artifacts"
185
- if self._client._base_url_overridden
186
- else f"https://api.gcore.com//cloud/v1/registries/{project_id}/{region_id}/{registry_id}/repositories/{repository_name}/artifacts",
180
+ f"/cloud/v1/registries/{project_id}/{region_id}/{registry_id}/repositories/{repository_name}/artifacts",
187
181
  options=make_request_options(
188
182
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
189
183
  ),
@@ -227,9 +221,7 @@ class AsyncArtifactsResource(AsyncAPIResource):
227
221
  raise ValueError(f"Expected a non-empty value for `digest` but received {digest!r}")
228
222
  extra_headers = {"Accept": "*/*", **(extra_headers or {})}
229
223
  return await self._delete(
230
- f"/cloud/v1/registries/{project_id}/{region_id}/{registry_id}/repositories/{repository_name}/artifacts/{digest}"
231
- if self._client._base_url_overridden
232
- else f"https://api.gcore.com//cloud/v1/registries/{project_id}/{region_id}/{registry_id}/repositories/{repository_name}/artifacts/{digest}",
224
+ f"/cloud/v1/registries/{project_id}/{region_id}/{registry_id}/repositories/{repository_name}/artifacts/{digest}",
233
225
  options=make_request_options(
234
226
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
235
227
  ),
@@ -129,9 +129,7 @@ class RegistriesResource(SyncAPIResource):
129
129
  if region_id is None:
130
130
  region_id = self._client._get_cloud_region_id_path_param()
131
131
  return self._post(
132
- f"/cloud/v1/registries/{project_id}/{region_id}"
133
- if self._client._base_url_overridden
134
- else f"https://api.gcore.com//cloud/v1/registries/{project_id}/{region_id}",
132
+ f"/cloud/v1/registries/{project_id}/{region_id}",
135
133
  body=maybe_transform(
136
134
  {
137
135
  "name": name,
@@ -174,9 +172,7 @@ class RegistriesResource(SyncAPIResource):
174
172
  if region_id is None:
175
173
  region_id = self._client._get_cloud_region_id_path_param()
176
174
  return self._get(
177
- f"/cloud/v1/registries/{project_id}/{region_id}"
178
- if self._client._base_url_overridden
179
- else f"https://api.gcore.com//cloud/v1/registries/{project_id}/{region_id}",
175
+ f"/cloud/v1/registries/{project_id}/{region_id}",
180
176
  options=make_request_options(
181
177
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
182
178
  ),
@@ -214,9 +210,7 @@ class RegistriesResource(SyncAPIResource):
214
210
  region_id = self._client._get_cloud_region_id_path_param()
215
211
  extra_headers = {"Accept": "*/*", **(extra_headers or {})}
216
212
  return self._delete(
217
- f"/cloud/v1/registries/{project_id}/{region_id}/{registry_id}"
218
- if self._client._base_url_overridden
219
- else f"https://api.gcore.com//cloud/v1/registries/{project_id}/{region_id}/{registry_id}",
213
+ f"/cloud/v1/registries/{project_id}/{region_id}/{registry_id}",
220
214
  options=make_request_options(
221
215
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
222
216
  ),
@@ -253,9 +247,7 @@ class RegistriesResource(SyncAPIResource):
253
247
  if region_id is None:
254
248
  region_id = self._client._get_cloud_region_id_path_param()
255
249
  return self._get(
256
- f"/cloud/v1/registries/{project_id}/{region_id}/{registry_id}"
257
- if self._client._base_url_overridden
258
- else f"https://api.gcore.com//cloud/v1/registries/{project_id}/{region_id}/{registry_id}",
250
+ f"/cloud/v1/registries/{project_id}/{region_id}/{registry_id}",
259
251
  options=make_request_options(
260
252
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
261
253
  ),
@@ -295,9 +287,7 @@ class RegistriesResource(SyncAPIResource):
295
287
  if region_id is None:
296
288
  region_id = self._client._get_cloud_region_id_path_param()
297
289
  return self._patch(
298
- f"/cloud/v1/registries/{project_id}/{region_id}/{registry_id}/resize"
299
- if self._client._base_url_overridden
300
- else f"https://api.gcore.com//cloud/v1/registries/{project_id}/{region_id}/{registry_id}/resize",
290
+ f"/cloud/v1/registries/{project_id}/{region_id}/{registry_id}/resize",
301
291
  body=maybe_transform({"storage_limit": storage_limit}, registry_resize_params.RegistryResizeParams),
302
292
  options=make_request_options(
303
293
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
@@ -381,9 +371,7 @@ class AsyncRegistriesResource(AsyncAPIResource):
381
371
  if region_id is None:
382
372
  region_id = self._client._get_cloud_region_id_path_param()
383
373
  return await self._post(
384
- f"/cloud/v1/registries/{project_id}/{region_id}"
385
- if self._client._base_url_overridden
386
- else f"https://api.gcore.com//cloud/v1/registries/{project_id}/{region_id}",
374
+ f"/cloud/v1/registries/{project_id}/{region_id}",
387
375
  body=await async_maybe_transform(
388
376
  {
389
377
  "name": name,
@@ -426,9 +414,7 @@ class AsyncRegistriesResource(AsyncAPIResource):
426
414
  if region_id is None:
427
415
  region_id = self._client._get_cloud_region_id_path_param()
428
416
  return await self._get(
429
- f"/cloud/v1/registries/{project_id}/{region_id}"
430
- if self._client._base_url_overridden
431
- else f"https://api.gcore.com//cloud/v1/registries/{project_id}/{region_id}",
417
+ f"/cloud/v1/registries/{project_id}/{region_id}",
432
418
  options=make_request_options(
433
419
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
434
420
  ),
@@ -466,9 +452,7 @@ class AsyncRegistriesResource(AsyncAPIResource):
466
452
  region_id = self._client._get_cloud_region_id_path_param()
467
453
  extra_headers = {"Accept": "*/*", **(extra_headers or {})}
468
454
  return await self._delete(
469
- f"/cloud/v1/registries/{project_id}/{region_id}/{registry_id}"
470
- if self._client._base_url_overridden
471
- else f"https://api.gcore.com//cloud/v1/registries/{project_id}/{region_id}/{registry_id}",
455
+ f"/cloud/v1/registries/{project_id}/{region_id}/{registry_id}",
472
456
  options=make_request_options(
473
457
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
474
458
  ),
@@ -505,9 +489,7 @@ class AsyncRegistriesResource(AsyncAPIResource):
505
489
  if region_id is None:
506
490
  region_id = self._client._get_cloud_region_id_path_param()
507
491
  return await self._get(
508
- f"/cloud/v1/registries/{project_id}/{region_id}/{registry_id}"
509
- if self._client._base_url_overridden
510
- else f"https://api.gcore.com//cloud/v1/registries/{project_id}/{region_id}/{registry_id}",
492
+ f"/cloud/v1/registries/{project_id}/{region_id}/{registry_id}",
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 AsyncRegistriesResource(AsyncAPIResource):
547
529
  if region_id is None:
548
530
  region_id = self._client._get_cloud_region_id_path_param()
549
531
  return await self._patch(
550
- f"/cloud/v1/registries/{project_id}/{region_id}/{registry_id}/resize"
551
- if self._client._base_url_overridden
552
- else f"https://api.gcore.com//cloud/v1/registries/{project_id}/{region_id}/{registry_id}/resize",
532
+ f"/cloud/v1/registries/{project_id}/{region_id}/{registry_id}/resize",
553
533
  body=await async_maybe_transform(
554
534
  {"storage_limit": storage_limit}, registry_resize_params.RegistryResizeParams
555
535
  ),
@@ -69,9 +69,7 @@ class RepositoriesResource(SyncAPIResource):
69
69
  if region_id is None:
70
70
  region_id = self._client._get_cloud_region_id_path_param()
71
71
  return self._get(
72
- f"/cloud/v1/registries/{project_id}/{region_id}/{registry_id}/repositories"
73
- if self._client._base_url_overridden
74
- else f"https://api.gcore.com//cloud/v1/registries/{project_id}/{region_id}/{registry_id}/repositories",
72
+ f"/cloud/v1/registries/{project_id}/{region_id}/{registry_id}/repositories",
75
73
  options=make_request_options(
76
74
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
77
75
  ),
@@ -112,9 +110,7 @@ class RepositoriesResource(SyncAPIResource):
112
110
  raise ValueError(f"Expected a non-empty value for `repository_name` but received {repository_name!r}")
113
111
  extra_headers = {"Accept": "*/*", **(extra_headers or {})}
114
112
  return self._delete(
115
- f"/cloud/v1/registries/{project_id}/{region_id}/{registry_id}/repositories/{repository_name}"
116
- if self._client._base_url_overridden
117
- else f"https://api.gcore.com//cloud/v1/registries/{project_id}/{region_id}/{registry_id}/repositories/{repository_name}",
113
+ f"/cloud/v1/registries/{project_id}/{region_id}/{registry_id}/repositories/{repository_name}",
118
114
  options=make_request_options(
119
115
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
120
116
  ),
@@ -172,9 +168,7 @@ class AsyncRepositoriesResource(AsyncAPIResource):
172
168
  if region_id is None:
173
169
  region_id = self._client._get_cloud_region_id_path_param()
174
170
  return await self._get(
175
- f"/cloud/v1/registries/{project_id}/{region_id}/{registry_id}/repositories"
176
- if self._client._base_url_overridden
177
- else f"https://api.gcore.com//cloud/v1/registries/{project_id}/{region_id}/{registry_id}/repositories",
171
+ f"/cloud/v1/registries/{project_id}/{region_id}/{registry_id}/repositories",
178
172
  options=make_request_options(
179
173
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
180
174
  ),
@@ -215,9 +209,7 @@ class AsyncRepositoriesResource(AsyncAPIResource):
215
209
  raise ValueError(f"Expected a non-empty value for `repository_name` but received {repository_name!r}")
216
210
  extra_headers = {"Accept": "*/*", **(extra_headers or {})}
217
211
  return await self._delete(
218
- f"/cloud/v1/registries/{project_id}/{region_id}/{registry_id}/repositories/{repository_name}"
219
- if self._client._base_url_overridden
220
- else f"https://api.gcore.com//cloud/v1/registries/{project_id}/{region_id}/{registry_id}/repositories/{repository_name}",
212
+ f"/cloud/v1/registries/{project_id}/{region_id}/{registry_id}/repositories/{repository_name}",
221
213
  options=make_request_options(
222
214
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
223
215
  ),
@@ -78,9 +78,7 @@ class TagsResource(SyncAPIResource):
78
78
  raise ValueError(f"Expected a non-empty value for `tag_name` but received {tag_name!r}")
79
79
  extra_headers = {"Accept": "*/*", **(extra_headers or {})}
80
80
  return self._delete(
81
- f"/cloud/v1/registries/{project_id}/{region_id}/{registry_id}/repositories/{repository_name}/artifacts/{digest}/tags/{tag_name}"
82
- if self._client._base_url_overridden
83
- else f"https://api.gcore.com//cloud/v1/registries/{project_id}/{region_id}/{registry_id}/repositories/{repository_name}/artifacts/{digest}/tags/{tag_name}",
81
+ f"/cloud/v1/registries/{project_id}/{region_id}/{registry_id}/repositories/{repository_name}/artifacts/{digest}/tags/{tag_name}",
84
82
  options=make_request_options(
85
83
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
86
84
  ),
@@ -148,9 +146,7 @@ class AsyncTagsResource(AsyncAPIResource):
148
146
  raise ValueError(f"Expected a non-empty value for `tag_name` but received {tag_name!r}")
149
147
  extra_headers = {"Accept": "*/*", **(extra_headers or {})}
150
148
  return await self._delete(
151
- f"/cloud/v1/registries/{project_id}/{region_id}/{registry_id}/repositories/{repository_name}/artifacts/{digest}/tags/{tag_name}"
152
- if self._client._base_url_overridden
153
- else f"https://api.gcore.com//cloud/v1/registries/{project_id}/{region_id}/{registry_id}/repositories/{repository_name}/artifacts/{digest}/tags/{tag_name}",
149
+ f"/cloud/v1/registries/{project_id}/{region_id}/{registry_id}/repositories/{repository_name}/artifacts/{digest}/tags/{tag_name}",
154
150
  options=make_request_options(
155
151
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
156
152
  ),
@@ -92,9 +92,7 @@ class UsersResource(SyncAPIResource):
92
92
  if region_id is None:
93
93
  region_id = self._client._get_cloud_region_id_path_param()
94
94
  return self._post(
95
- f"/cloud/v1/registries/{project_id}/{region_id}/{registry_id}/users"
96
- if self._client._base_url_overridden
97
- else f"https://api.gcore.com//cloud/v1/registries/{project_id}/{region_id}/{registry_id}/users",
95
+ f"/cloud/v1/registries/{project_id}/{region_id}/{registry_id}/users",
98
96
  body=maybe_transform(
99
97
  {
100
98
  "duration": duration,
@@ -147,9 +145,7 @@ class UsersResource(SyncAPIResource):
147
145
  if region_id is None:
148
146
  region_id = self._client._get_cloud_region_id_path_param()
149
147
  return self._patch(
150
- f"/cloud/v1/registries/{project_id}/{region_id}/{registry_id}/users/{user_id}"
151
- if self._client._base_url_overridden
152
- else f"https://api.gcore.com//cloud/v1/registries/{project_id}/{region_id}/{registry_id}/users/{user_id}",
148
+ f"/cloud/v1/registries/{project_id}/{region_id}/{registry_id}/users/{user_id}",
153
149
  body=maybe_transform(
154
150
  {
155
151
  "duration": duration,
@@ -193,9 +189,7 @@ class UsersResource(SyncAPIResource):
193
189
  if region_id is None:
194
190
  region_id = self._client._get_cloud_region_id_path_param()
195
191
  return self._get(
196
- f"/cloud/v1/registries/{project_id}/{region_id}/{registry_id}/users"
197
- if self._client._base_url_overridden
198
- else f"https://api.gcore.com//cloud/v1/registries/{project_id}/{region_id}/{registry_id}/users",
192
+ f"/cloud/v1/registries/{project_id}/{region_id}/{registry_id}/users",
199
193
  options=make_request_options(
200
194
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
201
195
  ),
@@ -234,9 +228,7 @@ class UsersResource(SyncAPIResource):
234
228
  region_id = self._client._get_cloud_region_id_path_param()
235
229
  extra_headers = {"Accept": "*/*", **(extra_headers or {})}
236
230
  return self._delete(
237
- f"/cloud/v1/registries/{project_id}/{region_id}/{registry_id}/users/{user_id}"
238
- if self._client._base_url_overridden
239
- else f"https://api.gcore.com//cloud/v1/registries/{project_id}/{region_id}/{registry_id}/users/{user_id}",
231
+ f"/cloud/v1/registries/{project_id}/{region_id}/{registry_id}/users/{user_id}",
240
232
  options=make_request_options(
241
233
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
242
234
  ),
@@ -276,9 +268,7 @@ class UsersResource(SyncAPIResource):
276
268
  if region_id is None:
277
269
  region_id = self._client._get_cloud_region_id_path_param()
278
270
  return self._post(
279
- f"/cloud/v1/registries/{project_id}/{region_id}/{registry_id}/users/batch"
280
- if self._client._base_url_overridden
281
- else f"https://api.gcore.com//cloud/v1/registries/{project_id}/{region_id}/{registry_id}/users/batch",
271
+ f"/cloud/v1/registries/{project_id}/{region_id}/{registry_id}/users/batch",
282
272
  body=maybe_transform({"users": users}, user_create_multiple_params.UserCreateMultipleParams),
283
273
  options=make_request_options(
284
274
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
@@ -317,9 +307,7 @@ class UsersResource(SyncAPIResource):
317
307
  if region_id is None:
318
308
  region_id = self._client._get_cloud_region_id_path_param()
319
309
  return self._post(
320
- f"/cloud/v1/registries/{project_id}/{region_id}/{registry_id}/users/{user_id}/refresh_secret"
321
- if self._client._base_url_overridden
322
- else f"https://api.gcore.com//cloud/v1/registries/{project_id}/{region_id}/{registry_id}/users/{user_id}/refresh_secret",
310
+ f"/cloud/v1/registries/{project_id}/{region_id}/{registry_id}/users/{user_id}/refresh_secret",
323
311
  options=make_request_options(
324
312
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
325
313
  ),
@@ -393,9 +381,7 @@ class AsyncUsersResource(AsyncAPIResource):
393
381
  if region_id is None:
394
382
  region_id = self._client._get_cloud_region_id_path_param()
395
383
  return await self._post(
396
- f"/cloud/v1/registries/{project_id}/{region_id}/{registry_id}/users"
397
- if self._client._base_url_overridden
398
- else f"https://api.gcore.com//cloud/v1/registries/{project_id}/{region_id}/{registry_id}/users",
384
+ f"/cloud/v1/registries/{project_id}/{region_id}/{registry_id}/users",
399
385
  body=await async_maybe_transform(
400
386
  {
401
387
  "duration": duration,
@@ -448,9 +434,7 @@ class AsyncUsersResource(AsyncAPIResource):
448
434
  if region_id is None:
449
435
  region_id = self._client._get_cloud_region_id_path_param()
450
436
  return await self._patch(
451
- f"/cloud/v1/registries/{project_id}/{region_id}/{registry_id}/users/{user_id}"
452
- if self._client._base_url_overridden
453
- else f"https://api.gcore.com//cloud/v1/registries/{project_id}/{region_id}/{registry_id}/users/{user_id}",
437
+ f"/cloud/v1/registries/{project_id}/{region_id}/{registry_id}/users/{user_id}",
454
438
  body=await async_maybe_transform(
455
439
  {
456
440
  "duration": duration,
@@ -494,9 +478,7 @@ class AsyncUsersResource(AsyncAPIResource):
494
478
  if region_id is None:
495
479
  region_id = self._client._get_cloud_region_id_path_param()
496
480
  return await self._get(
497
- f"/cloud/v1/registries/{project_id}/{region_id}/{registry_id}/users"
498
- if self._client._base_url_overridden
499
- else f"https://api.gcore.com//cloud/v1/registries/{project_id}/{region_id}/{registry_id}/users",
481
+ f"/cloud/v1/registries/{project_id}/{region_id}/{registry_id}/users",
500
482
  options=make_request_options(
501
483
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
502
484
  ),
@@ -535,9 +517,7 @@ class AsyncUsersResource(AsyncAPIResource):
535
517
  region_id = self._client._get_cloud_region_id_path_param()
536
518
  extra_headers = {"Accept": "*/*", **(extra_headers or {})}
537
519
  return await self._delete(
538
- f"/cloud/v1/registries/{project_id}/{region_id}/{registry_id}/users/{user_id}"
539
- if self._client._base_url_overridden
540
- else f"https://api.gcore.com//cloud/v1/registries/{project_id}/{region_id}/{registry_id}/users/{user_id}",
520
+ f"/cloud/v1/registries/{project_id}/{region_id}/{registry_id}/users/{user_id}",
541
521
  options=make_request_options(
542
522
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
543
523
  ),
@@ -577,9 +557,7 @@ class AsyncUsersResource(AsyncAPIResource):
577
557
  if region_id is None:
578
558
  region_id = self._client._get_cloud_region_id_path_param()
579
559
  return await self._post(
580
- f"/cloud/v1/registries/{project_id}/{region_id}/{registry_id}/users/batch"
581
- if self._client._base_url_overridden
582
- else f"https://api.gcore.com//cloud/v1/registries/{project_id}/{region_id}/{registry_id}/users/batch",
560
+ f"/cloud/v1/registries/{project_id}/{region_id}/{registry_id}/users/batch",
583
561
  body=await async_maybe_transform({"users": users}, user_create_multiple_params.UserCreateMultipleParams),
584
562
  options=make_request_options(
585
563
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
@@ -618,9 +596,7 @@ class AsyncUsersResource(AsyncAPIResource):
618
596
  if region_id is None:
619
597
  region_id = self._client._get_cloud_region_id_path_param()
620
598
  return await self._post(
621
- f"/cloud/v1/registries/{project_id}/{region_id}/{registry_id}/users/{user_id}/refresh_secret"
622
- if self._client._base_url_overridden
623
- else f"https://api.gcore.com//cloud/v1/registries/{project_id}/{region_id}/{registry_id}/users/{user_id}/refresh_secret",
599
+ f"/cloud/v1/registries/{project_id}/{region_id}/{registry_id}/users/{user_id}/refresh_secret",
624
600
  options=make_request_options(
625
601
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
626
602
  ),
@@ -26,7 +26,12 @@ from ...._response import (
26
26
  async_to_streamed_response_wrapper,
27
27
  )
28
28
  from ....pagination import SyncOffsetPage, AsyncOffsetPage
29
- from ....types.cloud import InterfaceIPFamily, reserved_fixed_ip_list_params, reserved_fixed_ip_create_params
29
+ from ....types.cloud import (
30
+ InterfaceIPFamily,
31
+ reserved_fixed_ip_list_params,
32
+ reserved_fixed_ip_create_params,
33
+ reserved_fixed_ip_update_params,
34
+ )
30
35
  from ...._base_client import AsyncPaginator, make_request_options
31
36
  from ....types.cloud.task_id_list import TaskIDList
32
37
  from ....types.cloud.reserved_fixed_ip import ReservedFixedIP
@@ -274,9 +279,7 @@ class ReservedFixedIPsResource(SyncAPIResource):
274
279
  if region_id is None:
275
280
  region_id = self._client._get_cloud_region_id_path_param()
276
281
  return self._post(
277
- f"/cloud/v1/reserved_fixed_ips/{project_id}/{region_id}"
278
- if self._client._base_url_overridden
279
- else f"https://api.gcore.com//cloud/v1/reserved_fixed_ips/{project_id}/{region_id}",
282
+ f"/cloud/v1/reserved_fixed_ips/{project_id}/{region_id}",
280
283
  body=maybe_transform(
281
284
  {
282
285
  "type": type,
@@ -295,6 +298,49 @@ class ReservedFixedIPsResource(SyncAPIResource):
295
298
  cast_to=TaskIDList,
296
299
  )
297
300
 
301
+ def update(
302
+ self,
303
+ port_id: str,
304
+ *,
305
+ project_id: int | None = None,
306
+ region_id: int | None = None,
307
+ is_vip: bool,
308
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
309
+ # The extra values given here take precedence over values defined on the client or passed to this method.
310
+ extra_headers: Headers | None = None,
311
+ extra_query: Query | None = None,
312
+ extra_body: Body | None = None,
313
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
314
+ ) -> ReservedFixedIP:
315
+ """
316
+ Update the VIP status of a reserved fixed IP.
317
+
318
+ Args:
319
+ is_vip: If reserved fixed IP should be a VIP
320
+
321
+ extra_headers: Send extra headers
322
+
323
+ extra_query: Add additional query parameters to the request
324
+
325
+ extra_body: Add additional JSON properties to the request
326
+
327
+ timeout: Override the client-level default timeout for this request, in seconds
328
+ """
329
+ if project_id is None:
330
+ project_id = self._client._get_cloud_project_id_path_param()
331
+ if region_id is None:
332
+ region_id = self._client._get_cloud_region_id_path_param()
333
+ if not port_id:
334
+ raise ValueError(f"Expected a non-empty value for `port_id` but received {port_id!r}")
335
+ return self._patch(
336
+ f"/cloud/v1/reserved_fixed_ips/{project_id}/{region_id}/{port_id}",
337
+ body=maybe_transform({"is_vip": is_vip}, reserved_fixed_ip_update_params.ReservedFixedIPUpdateParams),
338
+ options=make_request_options(
339
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
340
+ ),
341
+ cast_to=ReservedFixedIP,
342
+ )
343
+
298
344
  def list(
299
345
  self,
300
346
  *,
@@ -354,9 +400,7 @@ class ReservedFixedIPsResource(SyncAPIResource):
354
400
  if region_id is None:
355
401
  region_id = self._client._get_cloud_region_id_path_param()
356
402
  return self._get_api_list(
357
- f"/cloud/v1/reserved_fixed_ips/{project_id}/{region_id}"
358
- if self._client._base_url_overridden
359
- else f"https://api.gcore.com//cloud/v1/reserved_fixed_ips/{project_id}/{region_id}",
403
+ f"/cloud/v1/reserved_fixed_ips/{project_id}/{region_id}",
360
404
  page=SyncOffsetPage[ReservedFixedIP],
361
405
  options=make_request_options(
362
406
  extra_headers=extra_headers,
@@ -413,9 +457,7 @@ class ReservedFixedIPsResource(SyncAPIResource):
413
457
  if not port_id:
414
458
  raise ValueError(f"Expected a non-empty value for `port_id` but received {port_id!r}")
415
459
  return self._delete(
416
- f"/cloud/v1/reserved_fixed_ips/{project_id}/{region_id}/{port_id}"
417
- if self._client._base_url_overridden
418
- else f"https://api.gcore.com//cloud/v1/reserved_fixed_ips/{project_id}/{region_id}/{port_id}",
460
+ f"/cloud/v1/reserved_fixed_ips/{project_id}/{region_id}/{port_id}",
419
461
  options=make_request_options(
420
462
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
421
463
  ),
@@ -454,9 +496,7 @@ class ReservedFixedIPsResource(SyncAPIResource):
454
496
  if not port_id:
455
497
  raise ValueError(f"Expected a non-empty value for `port_id` but received {port_id!r}")
456
498
  return self._get(
457
- f"/cloud/v1/reserved_fixed_ips/{project_id}/{region_id}/{port_id}"
458
- if self._client._base_url_overridden
459
- else f"https://api.gcore.com//cloud/v1/reserved_fixed_ips/{project_id}/{region_id}/{port_id}",
499
+ f"/cloud/v1/reserved_fixed_ips/{project_id}/{region_id}/{port_id}",
460
500
  options=make_request_options(
461
501
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
462
502
  ),
@@ -995,9 +1035,7 @@ class AsyncReservedFixedIPsResource(AsyncAPIResource):
995
1035
  if region_id is None:
996
1036
  region_id = self._client._get_cloud_region_id_path_param()
997
1037
  return await self._post(
998
- f"/cloud/v1/reserved_fixed_ips/{project_id}/{region_id}"
999
- if self._client._base_url_overridden
1000
- else f"https://api.gcore.com//cloud/v1/reserved_fixed_ips/{project_id}/{region_id}",
1038
+ f"/cloud/v1/reserved_fixed_ips/{project_id}/{region_id}",
1001
1039
  body=await async_maybe_transform(
1002
1040
  {
1003
1041
  "type": type,
@@ -1016,6 +1054,51 @@ class AsyncReservedFixedIPsResource(AsyncAPIResource):
1016
1054
  cast_to=TaskIDList,
1017
1055
  )
1018
1056
 
1057
+ async def update(
1058
+ self,
1059
+ port_id: str,
1060
+ *,
1061
+ project_id: int | None = None,
1062
+ region_id: int | None = None,
1063
+ is_vip: bool,
1064
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
1065
+ # The extra values given here take precedence over values defined on the client or passed to this method.
1066
+ extra_headers: Headers | None = None,
1067
+ extra_query: Query | None = None,
1068
+ extra_body: Body | None = None,
1069
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
1070
+ ) -> ReservedFixedIP:
1071
+ """
1072
+ Update the VIP status of a reserved fixed IP.
1073
+
1074
+ Args:
1075
+ is_vip: If reserved fixed IP should be a VIP
1076
+
1077
+ extra_headers: Send extra headers
1078
+
1079
+ extra_query: Add additional query parameters to the request
1080
+
1081
+ extra_body: Add additional JSON properties to the request
1082
+
1083
+ timeout: Override the client-level default timeout for this request, in seconds
1084
+ """
1085
+ if project_id is None:
1086
+ project_id = self._client._get_cloud_project_id_path_param()
1087
+ if region_id is None:
1088
+ region_id = self._client._get_cloud_region_id_path_param()
1089
+ if not port_id:
1090
+ raise ValueError(f"Expected a non-empty value for `port_id` but received {port_id!r}")
1091
+ return await self._patch(
1092
+ f"/cloud/v1/reserved_fixed_ips/{project_id}/{region_id}/{port_id}",
1093
+ body=await async_maybe_transform(
1094
+ {"is_vip": is_vip}, reserved_fixed_ip_update_params.ReservedFixedIPUpdateParams
1095
+ ),
1096
+ options=make_request_options(
1097
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
1098
+ ),
1099
+ cast_to=ReservedFixedIP,
1100
+ )
1101
+
1019
1102
  def list(
1020
1103
  self,
1021
1104
  *,
@@ -1075,9 +1158,7 @@ class AsyncReservedFixedIPsResource(AsyncAPIResource):
1075
1158
  if region_id is None:
1076
1159
  region_id = self._client._get_cloud_region_id_path_param()
1077
1160
  return self._get_api_list(
1078
- f"/cloud/v1/reserved_fixed_ips/{project_id}/{region_id}"
1079
- if self._client._base_url_overridden
1080
- else f"https://api.gcore.com//cloud/v1/reserved_fixed_ips/{project_id}/{region_id}",
1161
+ f"/cloud/v1/reserved_fixed_ips/{project_id}/{region_id}",
1081
1162
  page=AsyncOffsetPage[ReservedFixedIP],
1082
1163
  options=make_request_options(
1083
1164
  extra_headers=extra_headers,
@@ -1134,9 +1215,7 @@ class AsyncReservedFixedIPsResource(AsyncAPIResource):
1134
1215
  if not port_id:
1135
1216
  raise ValueError(f"Expected a non-empty value for `port_id` but received {port_id!r}")
1136
1217
  return await self._delete(
1137
- f"/cloud/v1/reserved_fixed_ips/{project_id}/{region_id}/{port_id}"
1138
- if self._client._base_url_overridden
1139
- else f"https://api.gcore.com//cloud/v1/reserved_fixed_ips/{project_id}/{region_id}/{port_id}",
1218
+ f"/cloud/v1/reserved_fixed_ips/{project_id}/{region_id}/{port_id}",
1140
1219
  options=make_request_options(
1141
1220
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
1142
1221
  ),
@@ -1175,9 +1254,7 @@ class AsyncReservedFixedIPsResource(AsyncAPIResource):
1175
1254
  if not port_id:
1176
1255
  raise ValueError(f"Expected a non-empty value for `port_id` but received {port_id!r}")
1177
1256
  return await self._get(
1178
- f"/cloud/v1/reserved_fixed_ips/{project_id}/{region_id}/{port_id}"
1179
- if self._client._base_url_overridden
1180
- else f"https://api.gcore.com//cloud/v1/reserved_fixed_ips/{project_id}/{region_id}/{port_id}",
1257
+ f"/cloud/v1/reserved_fixed_ips/{project_id}/{region_id}/{port_id}",
1181
1258
  options=make_request_options(
1182
1259
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
1183
1260
  ),
@@ -1484,6 +1561,9 @@ class ReservedFixedIPsResourceWithRawResponse:
1484
1561
  self.create = to_raw_response_wrapper(
1485
1562
  reserved_fixed_ips.create,
1486
1563
  )
1564
+ self.update = to_raw_response_wrapper(
1565
+ reserved_fixed_ips.update,
1566
+ )
1487
1567
  self.list = to_raw_response_wrapper(
1488
1568
  reserved_fixed_ips.list,
1489
1569
  )
@@ -1512,6 +1592,9 @@ class AsyncReservedFixedIPsResourceWithRawResponse:
1512
1592
  self.create = async_to_raw_response_wrapper(
1513
1593
  reserved_fixed_ips.create,
1514
1594
  )
1595
+ self.update = async_to_raw_response_wrapper(
1596
+ reserved_fixed_ips.update,
1597
+ )
1515
1598
  self.list = async_to_raw_response_wrapper(
1516
1599
  reserved_fixed_ips.list,
1517
1600
  )
@@ -1540,6 +1623,9 @@ class ReservedFixedIPsResourceWithStreamingResponse:
1540
1623
  self.create = to_streamed_response_wrapper(
1541
1624
  reserved_fixed_ips.create,
1542
1625
  )
1626
+ self.update = to_streamed_response_wrapper(
1627
+ reserved_fixed_ips.update,
1628
+ )
1543
1629
  self.list = to_streamed_response_wrapper(
1544
1630
  reserved_fixed_ips.list,
1545
1631
  )
@@ -1568,6 +1654,9 @@ class AsyncReservedFixedIPsResourceWithStreamingResponse:
1568
1654
  self.create = async_to_streamed_response_wrapper(
1569
1655
  reserved_fixed_ips.create,
1570
1656
  )
1657
+ self.update = async_to_streamed_response_wrapper(
1658
+ reserved_fixed_ips.update,
1659
+ )
1571
1660
  self.list = async_to_streamed_response_wrapper(
1572
1661
  reserved_fixed_ips.list,
1573
1662
  )