gcore 0.16.0__py3-none-any.whl → 0.23.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 (220) hide show
  1. gcore/_client.py +16 -0
  2. gcore/_models.py +37 -15
  3. gcore/_streaming.py +12 -12
  4. gcore/_utils/_sync.py +3 -31
  5. gcore/_utils/_utils.py +1 -1
  6. gcore/_version.py +1 -1
  7. gcore/resources/cdn/audit_log.py +4 -4
  8. gcore/resources/cdn/cdn.py +120 -21
  9. gcore/resources/cdn/ip_ranges.py +97 -5
  10. gcore/resources/cdn/{logs/logs.py → logs.py} +9 -9
  11. gcore/resources/cdn/resources/resources.py +20 -20
  12. gcore/resources/cdn/statistics.py +56 -58
  13. gcore/resources/cloud/__init__.py +40 -12
  14. gcore/resources/cloud/audit_logs.py +20 -0
  15. gcore/resources/cloud/baremetal/servers.py +48 -14
  16. gcore/resources/cloud/billing_reservations.py +2 -2
  17. gcore/resources/cloud/cloud.py +100 -18
  18. gcore/resources/cloud/databases/__init__.py +33 -0
  19. gcore/resources/cloud/databases/databases.py +102 -0
  20. gcore/resources/cloud/databases/postgres/__init__.py +61 -0
  21. gcore/resources/cloud/databases/postgres/clusters/__init__.py +33 -0
  22. gcore/resources/cloud/databases/postgres/clusters/clusters.py +716 -0
  23. gcore/resources/cloud/databases/postgres/clusters/user_credentials.py +281 -0
  24. gcore/resources/cloud/databases/postgres/configurations.py +169 -0
  25. gcore/resources/cloud/databases/postgres/custom_configurations.py +197 -0
  26. gcore/resources/cloud/databases/postgres/postgres.py +166 -0
  27. gcore/resources/cloud/file_shares/file_shares.py +154 -49
  28. gcore/resources/cloud/floating_ips.py +42 -10
  29. gcore/resources/cloud/gpu_baremetal_clusters/gpu_baremetal_clusters.py +70 -10
  30. gcore/resources/cloud/gpu_baremetal_clusters/images.py +40 -6
  31. gcore/resources/cloud/gpu_baremetal_clusters/servers.py +16 -0
  32. gcore/resources/cloud/gpu_virtual_clusters/__init__.py +89 -0
  33. gcore/resources/cloud/gpu_virtual_clusters/flavors.py +211 -0
  34. gcore/resources/cloud/gpu_virtual_clusters/gpu_virtual_clusters.py +1551 -0
  35. gcore/resources/cloud/gpu_virtual_clusters/images.py +582 -0
  36. gcore/resources/cloud/gpu_virtual_clusters/interfaces.py +187 -0
  37. gcore/resources/cloud/gpu_virtual_clusters/servers.py +506 -0
  38. gcore/resources/cloud/gpu_virtual_clusters/volumes.py +187 -0
  39. gcore/resources/cloud/inference/deployments/deployments.py +52 -4
  40. gcore/resources/cloud/instances/images.py +72 -18
  41. gcore/resources/cloud/instances/instances.py +110 -18
  42. gcore/resources/cloud/instances/interfaces.py +12 -0
  43. gcore/resources/cloud/k8s/__init__.py +12 -12
  44. gcore/resources/cloud/k8s/clusters/clusters.py +25 -25
  45. gcore/resources/cloud/k8s/clusters/pools/pools.py +14 -14
  46. gcore/resources/cloud/k8s/k8s.py +24 -24
  47. gcore/resources/cloud/load_balancers/l7_policies/l7_policies.py +1420 -218
  48. gcore/resources/cloud/load_balancers/l7_policies/rules.py +134 -22
  49. gcore/resources/cloud/load_balancers/listeners.py +77 -6
  50. gcore/resources/cloud/load_balancers/load_balancers.py +92 -14
  51. gcore/resources/cloud/load_balancers/pools/pools.py +52 -4
  52. gcore/resources/cloud/networks/networks.py +30 -10
  53. gcore/resources/cloud/networks/subnets.py +26 -10
  54. gcore/resources/cloud/placement_groups.py +8 -0
  55. gcore/resources/cloud/projects.py +99 -119
  56. gcore/resources/cloud/quotas/requests.py +0 -8
  57. gcore/resources/cloud/reserved_fixed_ips/reserved_fixed_ips.py +18 -0
  58. gcore/resources/cloud/secrets.py +16 -0
  59. gcore/resources/cloud/security_groups/security_groups.py +38 -12
  60. gcore/resources/cloud/ssh_keys.py +10 -0
  61. gcore/resources/cloud/tasks.py +22 -7
  62. gcore/resources/cloud/volumes.py +65 -23
  63. gcore/resources/dns/zones/rrsets.py +10 -10
  64. gcore/resources/dns/zones/zones.py +2 -2
  65. gcore/resources/security/bgp_announces.py +0 -4
  66. gcore/resources/security/profiles.py +31 -7
  67. gcore/resources/storage/credentials.py +0 -28
  68. gcore/resources/storage/storage.py +2 -2
  69. gcore/types/cdn/__init__.py +5 -0
  70. gcore/types/cdn/alibaba_regions.py +22 -0
  71. gcore/types/cdn/audit_log_list_params.py +2 -2
  72. gcore/types/cdn/aws_regions.py +22 -0
  73. gcore/types/cdn/cdn_list_purge_statuses_response.py +10 -0
  74. gcore/types/cdn/cdn_resource.py +17 -12
  75. gcore/types/cdn/ip_range_list_ips_params.py +19 -0
  76. gcore/types/cdn/ip_range_list_params.py +19 -0
  77. gcore/types/cdn/resource_create_params.py +17 -12
  78. gcore/types/cdn/resource_purge_params.py +4 -4
  79. gcore/types/cdn/resource_replace_params.py +17 -12
  80. gcore/types/cdn/resource_update_params.py +17 -12
  81. gcore/types/cdn/resource_usage_stats.py +16 -15
  82. gcore/types/cdn/resources/cdn_resource_rule.py +15 -10
  83. gcore/types/cdn/resources/rule_create_params.py +15 -10
  84. gcore/types/cdn/resources/rule_replace_params.py +15 -10
  85. gcore/types/cdn/resources/rule_update_params.py +15 -10
  86. gcore/types/cdn/rule_template.py +15 -10
  87. gcore/types/cdn/rule_template_create_params.py +15 -10
  88. gcore/types/cdn/rule_template_replace_params.py +15 -10
  89. gcore/types/cdn/rule_template_update_params.py +15 -10
  90. gcore/types/cdn/statistic_get_logs_usage_aggregated_params.py +4 -1
  91. gcore/types/cdn/statistic_get_logs_usage_series_params.py +5 -12
  92. gcore/types/cdn/statistic_get_resource_usage_aggregated_params.py +10 -21
  93. gcore/types/cdn/statistic_get_resource_usage_series_params.py +6 -1
  94. gcore/types/cdn/statistic_get_shield_usage_aggregated_params.py +5 -2
  95. gcore/types/cdn/statistic_get_shield_usage_series_params.py +3 -0
  96. gcore/types/cloud/__init__.py +9 -3
  97. gcore/types/cloud/audit_log_entry.py +9 -3
  98. gcore/types/cloud/audit_log_list_params.py +12 -0
  99. gcore/types/cloud/baremetal/server_create_params.py +7 -7
  100. gcore/types/cloud/baremetal_flavor.py +0 -6
  101. gcore/types/cloud/billing_reservation_list_params.py +1 -1
  102. gcore/types/cloud/blackhole_port.py +4 -1
  103. gcore/types/cloud/databases/postgres/__init__.py +12 -0
  104. gcore/types/cloud/databases/postgres/cluster_create_params.py +108 -0
  105. gcore/types/cloud/databases/postgres/cluster_list_params.py +19 -0
  106. gcore/types/cloud/databases/postgres/cluster_update_params.py +102 -0
  107. gcore/types/cloud/databases/postgres/clusters/__init__.py +5 -0
  108. gcore/types/cloud/databases/postgres/clusters/postgres_user_credentials.py +13 -0
  109. gcore/types/cloud/databases/postgres/custom_configuration_validate_params.py +19 -0
  110. gcore/types/cloud/databases/postgres/pg_conf_validation.py +15 -0
  111. gcore/types/cloud/databases/postgres/postgres_cluster.py +118 -0
  112. gcore/types/cloud/databases/postgres/postgres_cluster_short.py +22 -0
  113. gcore/types/cloud/databases/postgres/postgres_configuration.py +31 -0
  114. gcore/types/cloud/file_share_create_params.py +8 -8
  115. gcore/types/cloud/file_share_update_params.py +7 -2
  116. gcore/types/cloud/floating_ip.py +5 -1
  117. gcore/types/cloud/floating_ip_create_params.py +4 -4
  118. gcore/types/cloud/floating_ip_detailed.py +5 -1
  119. gcore/types/cloud/floating_ip_list_params.py +8 -0
  120. gcore/types/cloud/floating_ip_update_params.py +7 -2
  121. gcore/types/cloud/gpu_baremetal_cluster.py +18 -3
  122. gcore/types/cloud/gpu_baremetal_cluster_action_params.py +7 -2
  123. gcore/types/cloud/gpu_baremetal_cluster_create_params.py +16 -4
  124. gcore/types/cloud/gpu_baremetal_clusters/gpu_baremetal_cluster_server.py +5 -2
  125. gcore/types/cloud/gpu_baremetal_clusters/image_upload_params.py +4 -4
  126. gcore/types/cloud/gpu_image.py +9 -0
  127. gcore/types/cloud/gpu_virtual_cluster.py +189 -0
  128. gcore/types/cloud/gpu_virtual_cluster_action_params.py +127 -0
  129. gcore/types/cloud/gpu_virtual_cluster_create_params.py +213 -0
  130. gcore/types/cloud/gpu_virtual_cluster_delete_params.py +41 -0
  131. gcore/types/cloud/gpu_virtual_cluster_list_params.py +21 -0
  132. gcore/types/cloud/gpu_virtual_cluster_update_params.py +18 -0
  133. gcore/types/cloud/gpu_virtual_clusters/__init__.py +16 -0
  134. gcore/types/cloud/gpu_virtual_clusters/flavor_list_params.py +21 -0
  135. gcore/types/cloud/gpu_virtual_clusters/gpu_virtual_cluster_server.py +77 -0
  136. gcore/types/cloud/gpu_virtual_clusters/gpu_virtual_cluster_server_list.py +16 -0
  137. gcore/types/cloud/gpu_virtual_clusters/gpu_virtual_cluster_volume.py +64 -0
  138. gcore/types/cloud/gpu_virtual_clusters/gpu_virtual_cluster_volume_list.py +16 -0
  139. gcore/types/cloud/gpu_virtual_clusters/gpu_virtual_flavor.py +155 -0
  140. gcore/types/cloud/gpu_virtual_clusters/gpu_virtual_flavor_list.py +16 -0
  141. gcore/types/cloud/gpu_virtual_clusters/gpu_virtual_interface.py +190 -0
  142. gcore/types/cloud/gpu_virtual_clusters/gpu_virtual_interface_list.py +16 -0
  143. gcore/types/cloud/gpu_virtual_clusters/image_upload_params.py +56 -0
  144. gcore/types/cloud/gpu_virtual_clusters/server_delete_params.py +44 -0
  145. gcore/types/cloud/gpu_virtual_clusters/server_list_params.py +75 -0
  146. gcore/types/cloud/image.py +9 -0
  147. gcore/types/cloud/inference/deployment_create_params.py +1 -1
  148. gcore/types/cloud/inference/deployment_update_params.py +1 -1
  149. gcore/types/cloud/inference/inference_deployment.py +1 -1
  150. gcore/types/cloud/instance_create_params.py +27 -27
  151. gcore/types/cloud/instance_update_params.py +7 -2
  152. gcore/types/cloud/instances/image_create_from_volume_params.py +4 -4
  153. gcore/types/cloud/instances/image_update_params.py +4 -4
  154. gcore/types/cloud/instances/image_upload_params.py +4 -4
  155. gcore/types/cloud/k8s/__init__.py +4 -4
  156. gcore/types/cloud/k8s/cluster_update_params.py +5 -5
  157. gcore/types/cloud/k8s/clusters/__init__.py +2 -2
  158. gcore/types/cloud/k8s/clusters/k8s_cluster_pool.py +2 -2
  159. gcore/types/cloud/k8s/clusters/k8s_cluster_pool_list.py +4 -4
  160. gcore/types/cloud/k8s/k8s_cluster.py +4 -4
  161. gcore/types/cloud/k8s/k8s_cluster_certificate.py +2 -2
  162. gcore/types/cloud/k8s/k8s_cluster_kubeconfig.py +14 -2
  163. gcore/types/cloud/k8s/k8s_cluster_list.py +4 -4
  164. gcore/types/cloud/k8s_cluster_version.py +2 -2
  165. gcore/types/cloud/k8s_cluster_version_list.py +4 -4
  166. gcore/types/cloud/load_balancer_create_params.py +14 -8
  167. gcore/types/cloud/load_balancer_flavor_detail.py +2 -2
  168. gcore/types/cloud/load_balancer_l7_policy.py +29 -16
  169. gcore/types/cloud/load_balancer_l7_policy_list.py +3 -3
  170. gcore/types/cloud/load_balancer_l7_rule.py +14 -23
  171. gcore/types/cloud/load_balancer_l7_rule_list.py +3 -3
  172. gcore/types/cloud/load_balancer_listener_detail.py +2 -2
  173. gcore/types/cloud/load_balancer_update_params.py +7 -2
  174. gcore/types/cloud/load_balancers/__init__.py +1 -0
  175. gcore/types/cloud/load_balancers/l7_policies/rule_create_params.py +5 -10
  176. gcore/types/cloud/load_balancers/l7_policies/rule_replace_params.py +7 -11
  177. gcore/types/cloud/load_balancers/l7_policy_create_params.py +102 -18
  178. gcore/types/cloud/load_balancers/l7_policy_replace_params.py +94 -16
  179. gcore/types/cloud/load_balancers/listener_create_params.py +4 -1
  180. gcore/types/cloud/load_balancers/listener_delete_params.py +18 -0
  181. gcore/types/cloud/load_balancers/listener_update_params.py +4 -1
  182. gcore/types/cloud/load_balancers/pool_create_params.py +1 -1
  183. gcore/types/cloud/network_create_params.py +4 -4
  184. gcore/types/cloud/network_update_params.py +7 -2
  185. gcore/types/cloud/networks/subnet_create_params.py +4 -4
  186. gcore/types/cloud/networks/subnet_update_params.py +7 -2
  187. gcore/types/cloud/project_create_params.py +0 -6
  188. gcore/types/cloud/{project_replace_params.py → project_update_params.py} +2 -2
  189. gcore/types/cloud/quotas/request_create_params.py +0 -3
  190. gcore/types/cloud/region.py +3 -3
  191. gcore/types/cloud/security_group.py +8 -1
  192. gcore/types/cloud/security_group_create_params.py +7 -5
  193. gcore/types/cloud/security_group_list_params.py +6 -4
  194. gcore/types/cloud/security_group_update_params.py +7 -2
  195. gcore/types/cloud/ssh_key_list_params.py +7 -0
  196. gcore/types/cloud/tag.py +2 -2
  197. gcore/types/cloud/task_id_list.py +3 -3
  198. gcore/types/cloud/volume_create_params.py +12 -12
  199. gcore/types/cloud/volume_update_params.py +7 -2
  200. gcore/types/dns/zone_list_params.py +1 -1
  201. gcore/types/iam/api_token_create.py +70 -1
  202. gcore/types/security/bgp_announce_list_params.py +0 -2
  203. gcore/types/security/client_profile.py +1 -0
  204. gcore/types/security/profile_create_params.py +4 -2
  205. gcore/types/security/profile_recreate_params.py +4 -2
  206. gcore/types/security/profile_replace_params.py +4 -2
  207. gcore/types/storage/credential_recreate_params.py +0 -17
  208. gcore/types/storage/storage.py +1 -1
  209. gcore/types/storage/storage_create_params.py +1 -1
  210. gcore/types/streaming/stream.py +3 -2
  211. gcore/types/streaming/video.py +1 -1
  212. gcore/types/waap/domains/custom_rule_create_params.py +1 -1
  213. gcore/types/waap/domains/custom_rule_update_params.py +1 -1
  214. gcore/types/waap/domains/waap_custom_rule.py +1 -1
  215. {gcore-0.16.0.dist-info → gcore-0.23.0.dist-info}/METADATA +14 -14
  216. {gcore-0.16.0.dist-info → gcore-0.23.0.dist-info}/RECORD +219 -168
  217. gcore/resources/cdn/logs/__init__.py +0 -19
  218. /gcore/types/{cdn/logs → cloud/databases}/__init__.py +0 -0
  219. {gcore-0.16.0.dist-info → gcore-0.23.0.dist-info}/WHEEL +0 -0
  220. {gcore-0.16.0.dist-info → gcore-0.23.0.dist-info}/licenses/LICENSE +0 -0
@@ -118,7 +118,7 @@ class InstancesResource(SyncAPIResource):
118
118
  interfaces: Iterable[instance_create_params.Interface],
119
119
  volumes: Iterable[instance_create_params.Volume],
120
120
  allow_app_ports: bool | Omit = omit,
121
- configuration: Optional[object] | Omit = omit,
121
+ configuration: Optional[Dict[str, object]] | Omit = omit,
122
122
  name: str | Omit = omit,
123
123
  name_template: str | Omit = omit,
124
124
  password: str | Omit = omit,
@@ -183,8 +183,8 @@ class InstancesResource(SyncAPIResource):
183
183
  name_template: If you want the instance name to be automatically generated based on IP
184
184
  addresses, you can provide a name template instead of specifying the name
185
185
  manually. The template should include a placeholder that will be replaced during
186
- provisioning. Supported placeholders are: `{`ip_octets`}` (last 3 octets of the
187
- IP), `{`two_ip_octets`}`, and `{`one_ip_octet`}`.
186
+ provisioning. Supported placeholders are: `{ip_octets}` (last 3 octets of the
187
+ IP), `{two_ip_octets}`, and `{one_ip_octet}`.
188
188
 
189
189
  password: For Linux instances, 'username' and 'password' are used to create a new user.
190
190
  When only 'password' is provided, it is set as the password for the default user
@@ -210,9 +210,10 @@ class InstancesResource(SyncAPIResource):
210
210
 
211
211
  tags: Key-value tags to associate with the resource. A tag is a key-value pair that
212
212
  can be associated with a resource, enabling efficient filtering and grouping for
213
- better organization and management. Some tags are read-only and cannot be
214
- modified by the user. Tags are also integrated with cost reports, allowing cost
215
- data to be filtered based on tag keys or values.
213
+ better organization and management. Both tag keys and values have a maximum
214
+ length of 255 characters. Some tags are read-only and cannot be modified by the
215
+ user. Tags are also integrated with cost reports, allowing cost data to be
216
+ filtered based on tag keys or values.
216
217
 
217
218
  user_data: String in base64 format. For Linux instances, '`user_data`' is ignored when
218
219
  'password' field is provided. For Windows instances, Admin user password is set
@@ -271,7 +272,7 @@ class InstancesResource(SyncAPIResource):
271
272
  interfaces: Iterable[instance_create_params.Interface],
272
273
  volumes: Iterable[instance_create_params.Volume],
273
274
  allow_app_ports: bool | Omit = omit,
274
- configuration: Optional[object] | Omit = omit,
275
+ configuration: Optional[Dict[str, object]] | Omit = omit,
275
276
  name: str | Omit = omit,
276
277
  name_template: str | Omit = omit,
277
278
  password: str | Omit = omit,
@@ -282,6 +283,7 @@ class InstancesResource(SyncAPIResource):
282
283
  user_data: str | Omit = omit,
283
284
  username: str | Omit = omit,
284
285
  polling_interval_seconds: int | Omit = omit,
286
+ polling_timeout_seconds: int | Omit = omit,
285
287
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
286
288
  # The extra values given here take precedence over values defined on the client or passed to this method.
287
289
  extra_headers: Headers | None = None,
@@ -318,6 +320,7 @@ class InstancesResource(SyncAPIResource):
318
320
  task_id=response.tasks[0],
319
321
  extra_headers=extra_headers,
320
322
  polling_interval_seconds=polling_interval_seconds,
323
+ polling_timeout_seconds=polling_timeout_seconds,
321
324
  )
322
325
  if (
323
326
  not task.created_resources
@@ -369,15 +372,20 @@ class InstancesResource(SyncAPIResource):
369
372
  - **Add/update tags:**
370
373
  `{'tags': {'environment': 'production', 'team': 'backend'}}` adds new tags or
371
374
  updates existing ones.
372
- - **Delete tags:** `{'tags': {'`old_tag`': null}}` removes specific tags.
375
+
376
+ - **Delete tags:** `{'tags': {'old_tag': null}}` removes specific tags.
377
+
373
378
  - **Remove all tags:** `{'tags': null}` removes all user-managed tags (read-only
374
379
  tags are preserved).
380
+
375
381
  - **Partial update:** `{'tags': {'environment': 'staging'}}` only updates
376
382
  specified tags.
383
+
377
384
  - **Mixed operations:**
378
- `{'tags': {'environment': 'production', '`cost_center`': 'engineering', '`deprecated_tag`': null}}`
385
+ `{'tags': {'environment': 'production', 'cost_center': 'engineering', 'deprecated_tag': null}}`
379
386
  adds/updates 'environment' and '`cost_center`' while removing
380
387
  '`deprecated_tag`', preserving other existing tags.
388
+
381
389
  - **Replace all:** first delete existing tags with null values, then add new
382
390
  ones in the same request.
383
391
 
@@ -676,6 +684,7 @@ class InstancesResource(SyncAPIResource):
676
684
  reserved_fixed_ips: str | Omit = omit,
677
685
  volumes: str | Omit = omit,
678
686
  polling_interval_seconds: int | Omit = omit,
687
+ polling_timeout_seconds: int | Omit = omit,
679
688
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
680
689
  # The extra values given here take precedence over values defined on the client or passed to this method.
681
690
  extra_headers: Headers | None = None,
@@ -705,6 +714,7 @@ class InstancesResource(SyncAPIResource):
705
714
  task_id=response.tasks[0],
706
715
  extra_headers=extra_headers,
707
716
  polling_interval_seconds=polling_interval_seconds,
717
+ polling_timeout_seconds=polling_timeout_seconds,
708
718
  )
709
719
 
710
720
  @overload
@@ -986,6 +996,7 @@ class InstancesResource(SyncAPIResource):
986
996
  region_id: int | None = None,
987
997
  servergroup_id: str,
988
998
  polling_interval_seconds: int | Omit = omit,
999
+ polling_timeout_seconds: int | Omit = omit,
989
1000
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
990
1001
  # The extra values given here take precedence over values defined on the client or passed to this method.
991
1002
  extra_headers: Headers | None = None,
@@ -1012,6 +1023,7 @@ class InstancesResource(SyncAPIResource):
1012
1023
  task_id=response.tasks[0],
1013
1024
  extra_headers=extra_headers,
1014
1025
  polling_interval_seconds=polling_interval_seconds,
1026
+ polling_timeout_seconds=polling_timeout_seconds,
1015
1027
  )
1016
1028
  return self.get(
1017
1029
  instance_id=instance_id,
@@ -1306,6 +1318,7 @@ class InstancesResource(SyncAPIResource):
1306
1318
  project_id: int | None = None,
1307
1319
  region_id: int | None = None,
1308
1320
  polling_interval_seconds: int | Omit = omit,
1321
+ polling_timeout_seconds: int | Omit = omit,
1309
1322
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
1310
1323
  # The extra values given here take precedence over values defined on the client or passed to this method.
1311
1324
  extra_headers: Headers | None = None,
@@ -1331,6 +1344,7 @@ class InstancesResource(SyncAPIResource):
1331
1344
  task_id=response.tasks[0],
1332
1345
  extra_headers=extra_headers,
1333
1346
  polling_interval_seconds=polling_interval_seconds,
1347
+ polling_timeout_seconds=polling_timeout_seconds,
1334
1348
  )
1335
1349
  return self.get(
1336
1350
  instance_id=instance_id,
@@ -1390,6 +1404,7 @@ class InstancesResource(SyncAPIResource):
1390
1404
  region_id: int | None = None,
1391
1405
  flavor_id: str,
1392
1406
  polling_interval_seconds: int | Omit = omit,
1407
+ polling_timeout_seconds: int | Omit = omit,
1393
1408
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
1394
1409
  # The extra values given here take precedence over values defined on the client or passed to this method.
1395
1410
  extra_headers: Headers | None = None,
@@ -1416,6 +1431,7 @@ class InstancesResource(SyncAPIResource):
1416
1431
  task_id=response.tasks[0],
1417
1432
  extra_headers=extra_headers,
1418
1433
  polling_interval_seconds=polling_interval_seconds,
1434
+ polling_timeout_seconds=polling_timeout_seconds,
1419
1435
  )
1420
1436
  return self.get(
1421
1437
  instance_id=instance_id,
@@ -1526,7 +1542,7 @@ class AsyncInstancesResource(AsyncAPIResource):
1526
1542
  interfaces: Iterable[instance_create_params.Interface],
1527
1543
  volumes: Iterable[instance_create_params.Volume],
1528
1544
  allow_app_ports: bool | Omit = omit,
1529
- configuration: Optional[object] | Omit = omit,
1545
+ configuration: Optional[Dict[str, object]] | Omit = omit,
1530
1546
  name: str | Omit = omit,
1531
1547
  name_template: str | Omit = omit,
1532
1548
  password: str | Omit = omit,
@@ -1591,8 +1607,8 @@ class AsyncInstancesResource(AsyncAPIResource):
1591
1607
  name_template: If you want the instance name to be automatically generated based on IP
1592
1608
  addresses, you can provide a name template instead of specifying the name
1593
1609
  manually. The template should include a placeholder that will be replaced during
1594
- provisioning. Supported placeholders are: `{`ip_octets`}` (last 3 octets of the
1595
- IP), `{`two_ip_octets`}`, and `{`one_ip_octet`}`.
1610
+ provisioning. Supported placeholders are: `{ip_octets}` (last 3 octets of the
1611
+ IP), `{two_ip_octets}`, and `{one_ip_octet}`.
1596
1612
 
1597
1613
  password: For Linux instances, 'username' and 'password' are used to create a new user.
1598
1614
  When only 'password' is provided, it is set as the password for the default user
@@ -1618,9 +1634,10 @@ class AsyncInstancesResource(AsyncAPIResource):
1618
1634
 
1619
1635
  tags: Key-value tags to associate with the resource. A tag is a key-value pair that
1620
1636
  can be associated with a resource, enabling efficient filtering and grouping for
1621
- better organization and management. Some tags are read-only and cannot be
1622
- modified by the user. Tags are also integrated with cost reports, allowing cost
1623
- data to be filtered based on tag keys or values.
1637
+ better organization and management. Both tag keys and values have a maximum
1638
+ length of 255 characters. Some tags are read-only and cannot be modified by the
1639
+ user. Tags are also integrated with cost reports, allowing cost data to be
1640
+ filtered based on tag keys or values.
1624
1641
 
1625
1642
  user_data: String in base64 format. For Linux instances, '`user_data`' is ignored when
1626
1643
  'password' field is provided. For Windows instances, Admin user password is set
@@ -1679,7 +1696,7 @@ class AsyncInstancesResource(AsyncAPIResource):
1679
1696
  interfaces: Iterable[instance_create_params.Interface],
1680
1697
  volumes: Iterable[instance_create_params.Volume],
1681
1698
  allow_app_ports: bool | Omit = omit,
1682
- configuration: Optional[object] | Omit = omit,
1699
+ configuration: Optional[Dict[str, object]] | Omit = omit,
1683
1700
  name: str | Omit = omit,
1684
1701
  name_template: str | Omit = omit,
1685
1702
  password: str | Omit = omit,
@@ -1690,6 +1707,7 @@ class AsyncInstancesResource(AsyncAPIResource):
1690
1707
  user_data: str | Omit = omit,
1691
1708
  username: str | Omit = omit,
1692
1709
  polling_interval_seconds: int | Omit = omit,
1710
+ polling_timeout_seconds: int | Omit = omit,
1693
1711
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
1694
1712
  # The extra values given here take precedence over values defined on the client or passed to this method.
1695
1713
  extra_headers: Headers | None = None,
@@ -1726,6 +1744,7 @@ class AsyncInstancesResource(AsyncAPIResource):
1726
1744
  task_id=response.tasks[0],
1727
1745
  extra_headers=extra_headers,
1728
1746
  polling_interval_seconds=polling_interval_seconds,
1747
+ polling_timeout_seconds=polling_timeout_seconds,
1729
1748
  )
1730
1749
  if (
1731
1750
  not task.created_resources
@@ -1777,15 +1796,20 @@ class AsyncInstancesResource(AsyncAPIResource):
1777
1796
  - **Add/update tags:**
1778
1797
  `{'tags': {'environment': 'production', 'team': 'backend'}}` adds new tags or
1779
1798
  updates existing ones.
1780
- - **Delete tags:** `{'tags': {'`old_tag`': null}}` removes specific tags.
1799
+
1800
+ - **Delete tags:** `{'tags': {'old_tag': null}}` removes specific tags.
1801
+
1781
1802
  - **Remove all tags:** `{'tags': null}` removes all user-managed tags (read-only
1782
1803
  tags are preserved).
1804
+
1783
1805
  - **Partial update:** `{'tags': {'environment': 'staging'}}` only updates
1784
1806
  specified tags.
1807
+
1785
1808
  - **Mixed operations:**
1786
- `{'tags': {'environment': 'production', '`cost_center`': 'engineering', '`deprecated_tag`': null}}`
1809
+ `{'tags': {'environment': 'production', 'cost_center': 'engineering', 'deprecated_tag': null}}`
1787
1810
  adds/updates 'environment' and '`cost_center`' while removing
1788
1811
  '`deprecated_tag`', preserving other existing tags.
1812
+
1789
1813
  - **Replace all:** first delete existing tags with null values, then add new
1790
1814
  ones in the same request.
1791
1815
 
@@ -2084,6 +2108,7 @@ class AsyncInstancesResource(AsyncAPIResource):
2084
2108
  reserved_fixed_ips: str | Omit = omit,
2085
2109
  volumes: str | Omit = omit,
2086
2110
  polling_interval_seconds: int | Omit = omit,
2111
+ polling_timeout_seconds: int | Omit = omit,
2087
2112
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
2088
2113
  # The extra values given here take precedence over values defined on the client or passed to this method.
2089
2114
  extra_headers: Headers | None = None,
@@ -2113,6 +2138,7 @@ class AsyncInstancesResource(AsyncAPIResource):
2113
2138
  task_id=response.tasks[0],
2114
2139
  extra_headers=extra_headers,
2115
2140
  polling_interval_seconds=polling_interval_seconds,
2141
+ polling_timeout_seconds=polling_timeout_seconds,
2116
2142
  )
2117
2143
 
2118
2144
  @overload
@@ -2394,6 +2420,7 @@ class AsyncInstancesResource(AsyncAPIResource):
2394
2420
  region_id: int | None = None,
2395
2421
  servergroup_id: str,
2396
2422
  polling_interval_seconds: int | Omit = omit,
2423
+ polling_timeout_seconds: int | Omit = omit,
2397
2424
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
2398
2425
  # The extra values given here take precedence over values defined on the client or passed to this method.
2399
2426
  extra_headers: Headers | None = None,
@@ -2420,6 +2447,7 @@ class AsyncInstancesResource(AsyncAPIResource):
2420
2447
  task_id=response.tasks[0],
2421
2448
  extra_headers=extra_headers,
2422
2449
  polling_interval_seconds=polling_interval_seconds,
2450
+ polling_timeout_seconds=polling_timeout_seconds,
2423
2451
  )
2424
2452
  return await self.get(
2425
2453
  instance_id=instance_id,
@@ -2714,6 +2742,7 @@ class AsyncInstancesResource(AsyncAPIResource):
2714
2742
  project_id: int | None = None,
2715
2743
  region_id: int | None = None,
2716
2744
  polling_interval_seconds: int | Omit = omit,
2745
+ polling_timeout_seconds: int | Omit = omit,
2717
2746
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
2718
2747
  # The extra values given here take precedence over values defined on the client or passed to this method.
2719
2748
  extra_headers: Headers | None = None,
@@ -2739,6 +2768,7 @@ class AsyncInstancesResource(AsyncAPIResource):
2739
2768
  task_id=response.tasks[0],
2740
2769
  extra_headers=extra_headers,
2741
2770
  polling_interval_seconds=polling_interval_seconds,
2771
+ polling_timeout_seconds=polling_timeout_seconds,
2742
2772
  )
2743
2773
  return await self.get(
2744
2774
  instance_id=instance_id,
@@ -2798,6 +2828,7 @@ class AsyncInstancesResource(AsyncAPIResource):
2798
2828
  region_id: int | None = None,
2799
2829
  flavor_id: str,
2800
2830
  polling_interval_seconds: int | Omit = omit,
2831
+ polling_timeout_seconds: int | Omit = omit,
2801
2832
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
2802
2833
  # The extra values given here take precedence over values defined on the client or passed to this method.
2803
2834
  extra_headers: Headers | None = None,
@@ -2824,6 +2855,7 @@ class AsyncInstancesResource(AsyncAPIResource):
2824
2855
  task_id=response.tasks[0],
2825
2856
  extra_headers=extra_headers,
2826
2857
  polling_interval_seconds=polling_interval_seconds,
2858
+ polling_timeout_seconds=polling_timeout_seconds,
2827
2859
  )
2828
2860
  return await self.get(
2829
2861
  instance_id=instance_id,
@@ -2938,6 +2970,21 @@ class InstancesResourceWithRawResponse:
2938
2970
  self.unassign_security_group = to_raw_response_wrapper(
2939
2971
  instances.unassign_security_group,
2940
2972
  )
2973
+ self.create_and_poll = to_raw_response_wrapper(
2974
+ instances.create_and_poll,
2975
+ )
2976
+ self.delete_and_poll = to_raw_response_wrapper(
2977
+ instances.delete_and_poll,
2978
+ )
2979
+ self.add_to_placement_group_and_poll = to_raw_response_wrapper(
2980
+ instances.add_to_placement_group_and_poll,
2981
+ )
2982
+ self.remove_from_placement_group_and_poll = to_raw_response_wrapper(
2983
+ instances.remove_from_placement_group_and_poll,
2984
+ )
2985
+ self.resize_and_poll = to_raw_response_wrapper(
2986
+ instances.resize_and_poll,
2987
+ )
2941
2988
 
2942
2989
  @cached_property
2943
2990
  def flavors(self) -> FlavorsResourceWithRawResponse:
@@ -3005,6 +3052,21 @@ class AsyncInstancesResourceWithRawResponse:
3005
3052
  self.unassign_security_group = async_to_raw_response_wrapper(
3006
3053
  instances.unassign_security_group,
3007
3054
  )
3055
+ self.create_and_poll = async_to_raw_response_wrapper(
3056
+ instances.create_and_poll,
3057
+ )
3058
+ self.delete_and_poll = async_to_raw_response_wrapper(
3059
+ instances.delete_and_poll,
3060
+ )
3061
+ self.add_to_placement_group_and_poll = async_to_raw_response_wrapper(
3062
+ instances.add_to_placement_group_and_poll,
3063
+ )
3064
+ self.remove_from_placement_group_and_poll = async_to_raw_response_wrapper(
3065
+ instances.remove_from_placement_group_and_poll,
3066
+ )
3067
+ self.resize_and_poll = async_to_raw_response_wrapper(
3068
+ instances.resize_and_poll,
3069
+ )
3008
3070
 
3009
3071
  @cached_property
3010
3072
  def flavors(self) -> AsyncFlavorsResourceWithRawResponse:
@@ -3072,6 +3134,21 @@ class InstancesResourceWithStreamingResponse:
3072
3134
  self.unassign_security_group = to_streamed_response_wrapper(
3073
3135
  instances.unassign_security_group,
3074
3136
  )
3137
+ self.create_and_poll = to_streamed_response_wrapper(
3138
+ instances.create_and_poll,
3139
+ )
3140
+ self.delete_and_poll = to_streamed_response_wrapper(
3141
+ instances.delete_and_poll,
3142
+ )
3143
+ self.add_to_placement_group_and_poll = to_streamed_response_wrapper(
3144
+ instances.add_to_placement_group_and_poll,
3145
+ )
3146
+ self.remove_from_placement_group_and_poll = to_streamed_response_wrapper(
3147
+ instances.remove_from_placement_group_and_poll,
3148
+ )
3149
+ self.resize_and_poll = to_streamed_response_wrapper(
3150
+ instances.resize_and_poll,
3151
+ )
3075
3152
 
3076
3153
  @cached_property
3077
3154
  def flavors(self) -> FlavorsResourceWithStreamingResponse:
@@ -3139,6 +3216,21 @@ class AsyncInstancesResourceWithStreamingResponse:
3139
3216
  self.unassign_security_group = async_to_streamed_response_wrapper(
3140
3217
  instances.unassign_security_group,
3141
3218
  )
3219
+ self.create_and_poll = async_to_streamed_response_wrapper(
3220
+ instances.create_and_poll,
3221
+ )
3222
+ self.delete_and_poll = async_to_streamed_response_wrapper(
3223
+ instances.delete_and_poll,
3224
+ )
3225
+ self.add_to_placement_group_and_poll = async_to_streamed_response_wrapper(
3226
+ instances.add_to_placement_group_and_poll,
3227
+ )
3228
+ self.remove_from_placement_group_and_poll = async_to_streamed_response_wrapper(
3229
+ instances.remove_from_placement_group_and_poll,
3230
+ )
3231
+ self.resize_and_poll = async_to_streamed_response_wrapper(
3232
+ instances.resize_and_poll,
3233
+ )
3142
3234
 
3143
3235
  @cached_property
3144
3236
  def flavors(self) -> AsyncFlavorsResourceWithStreamingResponse:
@@ -540,6 +540,7 @@ class InterfacesResource(SyncAPIResource):
540
540
  network_id: str | Omit = omit,
541
541
  port_id: str | Omit = omit,
542
542
  polling_interval_seconds: int | Omit = omit,
543
+ polling_timeout_seconds: int | Omit = omit,
543
544
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
544
545
  # The extra values given here take precedence over values defined on the client or passed to this method.
545
546
  extra_headers: Headers | None = None,
@@ -580,6 +581,7 @@ class InterfacesResource(SyncAPIResource):
580
581
  task_id=response.tasks[0],
581
582
  extra_headers=extra_headers,
582
583
  polling_interval_seconds=polling_interval_seconds,
584
+ polling_timeout_seconds=polling_timeout_seconds,
583
585
  )
584
586
  return self.list(instance_id, project_id=project_id, region_id=region_id, extra_headers=extra_headers)
585
587
 
@@ -592,6 +594,7 @@ class InterfacesResource(SyncAPIResource):
592
594
  ip_address: str,
593
595
  port_id: str,
594
596
  polling_interval_seconds: int | Omit = omit,
597
+ polling_timeout_seconds: int | Omit = omit,
595
598
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
596
599
  # The extra values given here take precedence over values defined on the client or passed to this method.
597
600
  extra_headers: Headers | None = None,
@@ -620,6 +623,7 @@ class InterfacesResource(SyncAPIResource):
620
623
  task_id=response.tasks[0],
621
624
  extra_headers=extra_headers,
622
625
  polling_interval_seconds=polling_interval_seconds,
626
+ polling_timeout_seconds=polling_timeout_seconds,
623
627
  )
624
628
  return self.list(instance_id, project_id=project_id, region_id=region_id, extra_headers=extra_headers)
625
629
 
@@ -997,6 +1001,7 @@ class AsyncInterfacesResource(AsyncAPIResource):
997
1001
  | Omit = omit,
998
1002
  type: str | Omit = omit,
999
1003
  polling_interval_seconds: int | Omit = omit,
1004
+ polling_timeout_seconds: int | Omit = omit,
1000
1005
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
1001
1006
  # The extra values given here take precedence over values defined on the client or passed to this method.
1002
1007
  extra_headers: Headers | None = None,
@@ -1025,6 +1030,7 @@ class AsyncInterfacesResource(AsyncAPIResource):
1025
1030
  | Omit = omit,
1026
1031
  type: str | Omit = omit,
1027
1032
  polling_interval_seconds: int | Omit = omit,
1033
+ polling_timeout_seconds: int | Omit = omit,
1028
1034
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
1029
1035
  # The extra values given here take precedence over values defined on the client or passed to this method.
1030
1036
  extra_headers: Headers | None = None,
@@ -1054,6 +1060,7 @@ class AsyncInterfacesResource(AsyncAPIResource):
1054
1060
  | Omit = omit,
1055
1061
  type: str | Omit = omit,
1056
1062
  polling_interval_seconds: int | Omit = omit,
1063
+ polling_timeout_seconds: int | Omit = omit,
1057
1064
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
1058
1065
  # The extra values given here take precedence over values defined on the client or passed to this method.
1059
1066
  extra_headers: Headers | None = None,
@@ -1082,6 +1089,7 @@ class AsyncInterfacesResource(AsyncAPIResource):
1082
1089
  | Omit = omit,
1083
1090
  type: str | Omit = omit,
1084
1091
  polling_interval_seconds: int | Omit = omit,
1092
+ polling_timeout_seconds: int | Omit = omit,
1085
1093
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
1086
1094
  # The extra values given here take precedence over values defined on the client or passed to this method.
1087
1095
  extra_headers: Headers | None = None,
@@ -1113,6 +1121,7 @@ class AsyncInterfacesResource(AsyncAPIResource):
1113
1121
  network_id: str | Omit = omit,
1114
1122
  port_id: str | Omit = omit,
1115
1123
  polling_interval_seconds: int | Omit = omit,
1124
+ polling_timeout_seconds: int | Omit = omit,
1116
1125
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
1117
1126
  # The extra values given here take precedence over values defined on the client or passed to this method.
1118
1127
  extra_headers: Headers | None = None,
@@ -1153,6 +1162,7 @@ class AsyncInterfacesResource(AsyncAPIResource):
1153
1162
  task_id=response.tasks[0],
1154
1163
  extra_headers=extra_headers,
1155
1164
  polling_interval_seconds=polling_interval_seconds,
1165
+ polling_timeout_seconds=polling_timeout_seconds,
1156
1166
  )
1157
1167
  return await self.list(instance_id, project_id=project_id, region_id=region_id, extra_headers=extra_headers)
1158
1168
 
@@ -1165,6 +1175,7 @@ class AsyncInterfacesResource(AsyncAPIResource):
1165
1175
  ip_address: str,
1166
1176
  port_id: str,
1167
1177
  polling_interval_seconds: int | Omit = omit,
1178
+ polling_timeout_seconds: int | Omit = omit,
1168
1179
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
1169
1180
  # The extra values given here take precedence over values defined on the client or passed to this method.
1170
1181
  extra_headers: Headers | None = None,
@@ -1193,6 +1204,7 @@ class AsyncInterfacesResource(AsyncAPIResource):
1193
1204
  task_id=response.tasks[0],
1194
1205
  extra_headers=extra_headers,
1195
1206
  polling_interval_seconds=polling_interval_seconds,
1207
+ polling_timeout_seconds=polling_timeout_seconds,
1196
1208
  )
1197
1209
  return await self.list(instance_id, project_id=project_id, region_id=region_id, extra_headers=extra_headers)
1198
1210
 
@@ -1,12 +1,12 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
  from .k8s import (
4
- K8sResource,
5
- AsyncK8sResource,
6
- K8sResourceWithRawResponse,
7
- AsyncK8sResourceWithRawResponse,
8
- K8sResourceWithStreamingResponse,
9
- AsyncK8sResourceWithStreamingResponse,
4
+ K8SResource,
5
+ AsyncK8SResource,
6
+ K8SResourceWithRawResponse,
7
+ AsyncK8SResourceWithRawResponse,
8
+ K8SResourceWithStreamingResponse,
9
+ AsyncK8SResourceWithStreamingResponse,
10
10
  )
11
11
  from .flavors import (
12
12
  FlavorsResource,
@@ -38,10 +38,10 @@ __all__ = [
38
38
  "AsyncClustersResourceWithRawResponse",
39
39
  "ClustersResourceWithStreamingResponse",
40
40
  "AsyncClustersResourceWithStreamingResponse",
41
- "K8sResource",
42
- "AsyncK8sResource",
43
- "K8sResourceWithRawResponse",
44
- "AsyncK8sResourceWithRawResponse",
45
- "K8sResourceWithStreamingResponse",
46
- "AsyncK8sResourceWithStreamingResponse",
41
+ "K8SResource",
42
+ "AsyncK8SResource",
43
+ "K8SResourceWithRawResponse",
44
+ "AsyncK8SResourceWithRawResponse",
45
+ "K8SResourceWithStreamingResponse",
46
+ "AsyncK8SResourceWithStreamingResponse",
47
47
  ]