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
@@ -166,9 +166,10 @@ class LoadBalancersResource(SyncAPIResource):
166
166
 
167
167
  logging: Logging configuration
168
168
 
169
- name: Load balancer name
169
+ name: Load balancer name. Either `name` or `name_template` should be specified.
170
170
 
171
- name_template: Load balancer name which will be changed by template.
171
+ name_template: Load balancer name which will be changed by template. Either `name` or
172
+ `name_template` should be specified.
172
173
 
173
174
  preferred_connectivity: Preferred option to establish connectivity between load balancer and its pools
174
175
  members. L2 provides best performance, L3 provides less IPs usage. It is taking
@@ -178,9 +179,10 @@ class LoadBalancersResource(SyncAPIResource):
178
179
 
179
180
  tags: Key-value tags to associate with the resource. A tag is a key-value pair that
180
181
  can be associated with a resource, enabling efficient filtering and grouping for
181
- better organization and management. Some tags are read-only and cannot be
182
- modified by the user. Tags are also integrated with cost reports, allowing cost
183
- data to be filtered based on tag keys or values.
182
+ better organization and management. Both tag keys and values have a maximum
183
+ length of 255 characters. Some tags are read-only and cannot be modified by the
184
+ user. Tags are also integrated with cost reports, allowing cost data to be
185
+ filtered based on tag keys or values.
184
186
 
185
187
  vip_ip_family: IP family for load balancer subnet auto-selection if `vip_network_id` is
186
188
  specified
@@ -272,15 +274,20 @@ class LoadBalancersResource(SyncAPIResource):
272
274
  - **Add/update tags:**
273
275
  `{'tags': {'environment': 'production', 'team': 'backend'}}` adds new tags or
274
276
  updates existing ones.
275
- - **Delete tags:** `{'tags': {'`old_tag`': null}}` removes specific tags.
277
+
278
+ - **Delete tags:** `{'tags': {'old_tag': null}}` removes specific tags.
279
+
276
280
  - **Remove all tags:** `{'tags': null}` removes all user-managed tags (read-only
277
281
  tags are preserved).
282
+
278
283
  - **Partial update:** `{'tags': {'environment': 'staging'}}` only updates
279
284
  specified tags.
285
+
280
286
  - **Mixed operations:**
281
- `{'tags': {'environment': 'production', '`cost_center`': 'engineering', '`deprecated_tag`': null}}`
287
+ `{'tags': {'environment': 'production', 'cost_center': 'engineering', 'deprecated_tag': null}}`
282
288
  adds/updates 'environment' and '`cost_center`' while removing
283
289
  '`deprecated_tag`', preserving other existing tags.
290
+
284
291
  - **Replace all:** first delete existing tags with null values, then add new
285
292
  ones in the same request.
286
293
 
@@ -421,6 +428,7 @@ class LoadBalancersResource(SyncAPIResource):
421
428
  vip_port_id: str | Omit = omit,
422
429
  vip_subnet_id: str | Omit = omit,
423
430
  polling_interval_seconds: int | Omit = omit,
431
+ polling_timeout_seconds: int | Omit = omit,
424
432
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
425
433
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
426
434
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -454,6 +462,7 @@ class LoadBalancersResource(SyncAPIResource):
454
462
  task_id=response.tasks[0],
455
463
  extra_headers=extra_headers,
456
464
  polling_interval_seconds=polling_interval_seconds,
465
+ polling_timeout_seconds=polling_timeout_seconds,
457
466
  )
458
467
  if (
459
468
  not task.created_resources
@@ -476,6 +485,7 @@ class LoadBalancersResource(SyncAPIResource):
476
485
  project_id: int | None = None,
477
486
  region_id: int | None = None,
478
487
  polling_interval_seconds: int | Omit = omit,
488
+ polling_timeout_seconds: int | Omit = omit,
479
489
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
480
490
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
481
491
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -501,6 +511,7 @@ class LoadBalancersResource(SyncAPIResource):
501
511
  task_id=response.tasks[0],
502
512
  extra_headers=extra_headers,
503
513
  polling_interval_seconds=polling_interval_seconds,
514
+ polling_timeout_seconds=polling_timeout_seconds,
504
515
  )
505
516
 
506
517
  def failover_and_poll(
@@ -511,6 +522,7 @@ class LoadBalancersResource(SyncAPIResource):
511
522
  region_id: int | None = None,
512
523
  force: bool | Omit = omit,
513
524
  polling_interval_seconds: int | Omit = omit,
525
+ polling_timeout_seconds: int | Omit = omit,
514
526
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
515
527
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
516
528
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -537,6 +549,7 @@ class LoadBalancersResource(SyncAPIResource):
537
549
  task_id=response.tasks[0],
538
550
  extra_headers=extra_headers,
539
551
  polling_interval_seconds=polling_interval_seconds,
552
+ polling_timeout_seconds=polling_timeout_seconds,
540
553
  )
541
554
  return self.get(
542
555
  load_balancer_id=load_balancer_id,
@@ -554,6 +567,7 @@ class LoadBalancersResource(SyncAPIResource):
554
567
  region_id: int | None = None,
555
568
  flavor: str,
556
569
  polling_interval_seconds: int | Omit = omit,
570
+ polling_timeout_seconds: int | Omit = omit,
557
571
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
558
572
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
559
573
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -580,6 +594,7 @@ class LoadBalancersResource(SyncAPIResource):
580
594
  task_id=response.tasks[0],
581
595
  extra_headers=extra_headers,
582
596
  polling_interval_seconds=polling_interval_seconds,
597
+ polling_timeout_seconds=polling_timeout_seconds,
583
598
  )
584
599
  return self.get(
585
600
  load_balancer_id=load_balancer_id,
@@ -851,9 +866,10 @@ class AsyncLoadBalancersResource(AsyncAPIResource):
851
866
 
852
867
  logging: Logging configuration
853
868
 
854
- name: Load balancer name
869
+ name: Load balancer name. Either `name` or `name_template` should be specified.
855
870
 
856
- name_template: Load balancer name which will be changed by template.
871
+ name_template: Load balancer name which will be changed by template. Either `name` or
872
+ `name_template` should be specified.
857
873
 
858
874
  preferred_connectivity: Preferred option to establish connectivity between load balancer and its pools
859
875
  members. L2 provides best performance, L3 provides less IPs usage. It is taking
@@ -863,9 +879,10 @@ class AsyncLoadBalancersResource(AsyncAPIResource):
863
879
 
864
880
  tags: Key-value tags to associate with the resource. A tag is a key-value pair that
865
881
  can be associated with a resource, enabling efficient filtering and grouping for
866
- better organization and management. Some tags are read-only and cannot be
867
- modified by the user. Tags are also integrated with cost reports, allowing cost
868
- data to be filtered based on tag keys or values.
882
+ better organization and management. Both tag keys and values have a maximum
883
+ length of 255 characters. Some tags are read-only and cannot be modified by the
884
+ user. Tags are also integrated with cost reports, allowing cost data to be
885
+ filtered based on tag keys or values.
869
886
 
870
887
  vip_ip_family: IP family for load balancer subnet auto-selection if `vip_network_id` is
871
888
  specified
@@ -957,15 +974,20 @@ class AsyncLoadBalancersResource(AsyncAPIResource):
957
974
  - **Add/update tags:**
958
975
  `{'tags': {'environment': 'production', 'team': 'backend'}}` adds new tags or
959
976
  updates existing ones.
960
- - **Delete tags:** `{'tags': {'`old_tag`': null}}` removes specific tags.
977
+
978
+ - **Delete tags:** `{'tags': {'old_tag': null}}` removes specific tags.
979
+
961
980
  - **Remove all tags:** `{'tags': null}` removes all user-managed tags (read-only
962
981
  tags are preserved).
982
+
963
983
  - **Partial update:** `{'tags': {'environment': 'staging'}}` only updates
964
984
  specified tags.
985
+
965
986
  - **Mixed operations:**
966
- `{'tags': {'environment': 'production', '`cost_center`': 'engineering', '`deprecated_tag`': null}}`
987
+ `{'tags': {'environment': 'production', 'cost_center': 'engineering', 'deprecated_tag': null}}`
967
988
  adds/updates 'environment' and '`cost_center`' while removing
968
989
  '`deprecated_tag`', preserving other existing tags.
990
+
969
991
  - **Replace all:** first delete existing tags with null values, then add new
970
992
  ones in the same request.
971
993
 
@@ -1106,6 +1128,7 @@ class AsyncLoadBalancersResource(AsyncAPIResource):
1106
1128
  vip_port_id: str | Omit = omit,
1107
1129
  vip_subnet_id: str | Omit = omit,
1108
1130
  polling_interval_seconds: int | Omit = omit,
1131
+ polling_timeout_seconds: int | Omit = omit,
1109
1132
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
1110
1133
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
1111
1134
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -1139,6 +1162,7 @@ class AsyncLoadBalancersResource(AsyncAPIResource):
1139
1162
  task_id=response.tasks[0],
1140
1163
  extra_headers=extra_headers,
1141
1164
  polling_interval_seconds=polling_interval_seconds,
1165
+ polling_timeout_seconds=polling_timeout_seconds,
1142
1166
  )
1143
1167
  if (
1144
1168
  not task.created_resources
@@ -1161,6 +1185,7 @@ class AsyncLoadBalancersResource(AsyncAPIResource):
1161
1185
  project_id: int | None = None,
1162
1186
  region_id: int | None = None,
1163
1187
  polling_interval_seconds: int | Omit = omit,
1188
+ polling_timeout_seconds: int | Omit = omit,
1164
1189
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
1165
1190
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
1166
1191
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -1186,6 +1211,7 @@ class AsyncLoadBalancersResource(AsyncAPIResource):
1186
1211
  task_id=response.tasks[0],
1187
1212
  extra_headers=extra_headers,
1188
1213
  polling_interval_seconds=polling_interval_seconds,
1214
+ polling_timeout_seconds=polling_timeout_seconds,
1189
1215
  )
1190
1216
 
1191
1217
  async def failover_and_poll(
@@ -1196,6 +1222,7 @@ class AsyncLoadBalancersResource(AsyncAPIResource):
1196
1222
  region_id: int | None = None,
1197
1223
  force: bool | Omit = omit,
1198
1224
  polling_interval_seconds: int | Omit = omit,
1225
+ polling_timeout_seconds: int | Omit = omit,
1199
1226
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
1200
1227
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
1201
1228
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -1222,6 +1249,7 @@ class AsyncLoadBalancersResource(AsyncAPIResource):
1222
1249
  task_id=response.tasks[0],
1223
1250
  extra_headers=extra_headers,
1224
1251
  polling_interval_seconds=polling_interval_seconds,
1252
+ polling_timeout_seconds=polling_timeout_seconds,
1225
1253
  )
1226
1254
  return await self.get(
1227
1255
  load_balancer_id=load_balancer_id,
@@ -1239,6 +1267,7 @@ class AsyncLoadBalancersResource(AsyncAPIResource):
1239
1267
  region_id: int | None = None,
1240
1268
  flavor: str,
1241
1269
  polling_interval_seconds: int | Omit = omit,
1270
+ polling_timeout_seconds: int | Omit = omit,
1242
1271
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
1243
1272
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
1244
1273
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -1265,6 +1294,7 @@ class AsyncLoadBalancersResource(AsyncAPIResource):
1265
1294
  task_id=response.tasks[0],
1266
1295
  extra_headers=extra_headers,
1267
1296
  polling_interval_seconds=polling_interval_seconds,
1297
+ polling_timeout_seconds=polling_timeout_seconds,
1268
1298
  )
1269
1299
  return await self.get(
1270
1300
  load_balancer_id=load_balancer_id,
@@ -1482,6 +1512,18 @@ class LoadBalancersResourceWithRawResponse:
1482
1512
  self.resize = to_raw_response_wrapper(
1483
1513
  load_balancers.resize,
1484
1514
  )
1515
+ self.create_and_poll = to_raw_response_wrapper(
1516
+ load_balancers.create_and_poll,
1517
+ )
1518
+ self.delete_and_poll = to_raw_response_wrapper(
1519
+ load_balancers.delete_and_poll,
1520
+ )
1521
+ self.failover_and_poll = to_raw_response_wrapper(
1522
+ load_balancers.failover_and_poll,
1523
+ )
1524
+ self.resize_and_poll = to_raw_response_wrapper(
1525
+ load_balancers.resize_and_poll,
1526
+ )
1485
1527
 
1486
1528
  @cached_property
1487
1529
  def l7_policies(self) -> L7PoliciesResourceWithRawResponse:
@@ -1533,6 +1575,18 @@ class AsyncLoadBalancersResourceWithRawResponse:
1533
1575
  self.resize = async_to_raw_response_wrapper(
1534
1576
  load_balancers.resize,
1535
1577
  )
1578
+ self.create_and_poll = async_to_raw_response_wrapper(
1579
+ load_balancers.create_and_poll,
1580
+ )
1581
+ self.delete_and_poll = async_to_raw_response_wrapper(
1582
+ load_balancers.delete_and_poll,
1583
+ )
1584
+ self.failover_and_poll = async_to_raw_response_wrapper(
1585
+ load_balancers.failover_and_poll,
1586
+ )
1587
+ self.resize_and_poll = async_to_raw_response_wrapper(
1588
+ load_balancers.resize_and_poll,
1589
+ )
1536
1590
 
1537
1591
  @cached_property
1538
1592
  def l7_policies(self) -> AsyncL7PoliciesResourceWithRawResponse:
@@ -1584,6 +1638,18 @@ class LoadBalancersResourceWithStreamingResponse:
1584
1638
  self.resize = to_streamed_response_wrapper(
1585
1639
  load_balancers.resize,
1586
1640
  )
1641
+ self.create_and_poll = to_streamed_response_wrapper(
1642
+ load_balancers.create_and_poll,
1643
+ )
1644
+ self.delete_and_poll = to_streamed_response_wrapper(
1645
+ load_balancers.delete_and_poll,
1646
+ )
1647
+ self.failover_and_poll = to_streamed_response_wrapper(
1648
+ load_balancers.failover_and_poll,
1649
+ )
1650
+ self.resize_and_poll = to_streamed_response_wrapper(
1651
+ load_balancers.resize_and_poll,
1652
+ )
1587
1653
 
1588
1654
  @cached_property
1589
1655
  def l7_policies(self) -> L7PoliciesResourceWithStreamingResponse:
@@ -1635,6 +1701,18 @@ class AsyncLoadBalancersResourceWithStreamingResponse:
1635
1701
  self.resize = async_to_streamed_response_wrapper(
1636
1702
  load_balancers.resize,
1637
1703
  )
1704
+ self.create_and_poll = async_to_streamed_response_wrapper(
1705
+ load_balancers.create_and_poll,
1706
+ )
1707
+ self.delete_and_poll = async_to_streamed_response_wrapper(
1708
+ load_balancers.delete_and_poll,
1709
+ )
1710
+ self.failover_and_poll = async_to_streamed_response_wrapper(
1711
+ load_balancers.failover_and_poll,
1712
+ )
1713
+ self.resize_and_poll = async_to_streamed_response_wrapper(
1714
+ load_balancers.resize_and_poll,
1715
+ )
1638
1716
 
1639
1717
  @cached_property
1640
1718
  def l7_policies(self) -> AsyncL7PoliciesResourceWithStreamingResponse:
@@ -85,7 +85,7 @@ class PoolsResource(SyncAPIResource):
85
85
  healthmonitor: Optional[pool_create_params.Healthmonitor] | Omit = omit,
86
86
  listener_id: Optional[str] | Omit = omit,
87
87
  load_balancer_id: Optional[str] | Omit = omit,
88
- members: Optional[Iterable[pool_create_params.Member]] | Omit = omit,
88
+ members: Iterable[pool_create_params.Member] | Omit = omit,
89
89
  secret_id: Optional[str] | Omit = omit,
90
90
  session_persistence: Optional[pool_create_params.SessionPersistence] | Omit = omit,
91
91
  timeout_client_data: Optional[int] | Omit = omit,
@@ -452,13 +452,14 @@ class PoolsResource(SyncAPIResource):
452
452
  healthmonitor: Optional[pool_create_params.Healthmonitor] | Omit = omit,
453
453
  listener_id: Optional[str] | Omit = omit,
454
454
  load_balancer_id: Optional[str] | Omit = omit,
455
- members: Optional[Iterable[pool_create_params.Member]] | Omit = omit,
455
+ members: Iterable[pool_create_params.Member] | Omit = omit,
456
456
  secret_id: Optional[str] | Omit = omit,
457
457
  session_persistence: Optional[pool_create_params.SessionPersistence] | Omit = omit,
458
458
  timeout_client_data: Optional[int] | Omit = omit,
459
459
  timeout_member_connect: Optional[int] | Omit = omit,
460
460
  timeout_member_data: Optional[int] | Omit = omit,
461
461
  polling_interval_seconds: int | Omit = omit,
462
+ polling_timeout_seconds: int | Omit = omit,
462
463
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
463
464
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
464
465
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -494,6 +495,7 @@ class PoolsResource(SyncAPIResource):
494
495
  task_id=response.tasks[0],
495
496
  extra_headers=extra_headers,
496
497
  polling_interval_seconds=polling_interval_seconds,
498
+ polling_timeout_seconds=polling_timeout_seconds,
497
499
  )
498
500
  if not task.created_resources or not task.created_resources.pools or len(task.created_resources.pools) != 1:
499
501
  raise ValueError(f"Expected exactly one resource to be created in a task")
@@ -512,6 +514,7 @@ class PoolsResource(SyncAPIResource):
512
514
  project_id: int | None = None,
513
515
  region_id: int | None = None,
514
516
  polling_interval_seconds: int | Omit = omit,
517
+ polling_timeout_seconds: int | Omit = omit,
515
518
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
516
519
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
517
520
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -537,6 +540,7 @@ class PoolsResource(SyncAPIResource):
537
540
  task_id=response.tasks[0],
538
541
  extra_headers=extra_headers,
539
542
  polling_interval_seconds=polling_interval_seconds,
543
+ polling_timeout_seconds=polling_timeout_seconds,
540
544
  )
541
545
 
542
546
  def update_and_poll(
@@ -558,6 +562,7 @@ class PoolsResource(SyncAPIResource):
558
562
  timeout_member_connect: Optional[int] | Omit = omit,
559
563
  timeout_member_data: Optional[int] | Omit = omit,
560
564
  polling_interval_seconds: int | Omit = omit,
565
+ polling_timeout_seconds: int | Omit = omit,
561
566
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
562
567
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
563
568
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -595,6 +600,7 @@ class PoolsResource(SyncAPIResource):
595
600
  task_id=response.tasks[0],
596
601
  extra_headers=extra_headers,
597
602
  polling_interval_seconds=polling_interval_seconds,
603
+ polling_timeout_seconds=polling_timeout_seconds,
598
604
  )
599
605
  return self.get(
600
606
  pool_id=pool_id,
@@ -646,7 +652,7 @@ class AsyncPoolsResource(AsyncAPIResource):
646
652
  healthmonitor: Optional[pool_create_params.Healthmonitor] | Omit = omit,
647
653
  listener_id: Optional[str] | Omit = omit,
648
654
  load_balancer_id: Optional[str] | Omit = omit,
649
- members: Optional[Iterable[pool_create_params.Member]] | Omit = omit,
655
+ members: Iterable[pool_create_params.Member] | Omit = omit,
650
656
  secret_id: Optional[str] | Omit = omit,
651
657
  session_persistence: Optional[pool_create_params.SessionPersistence] | Omit = omit,
652
658
  timeout_client_data: Optional[int] | Omit = omit,
@@ -1013,13 +1019,14 @@ class AsyncPoolsResource(AsyncAPIResource):
1013
1019
  healthmonitor: Optional[pool_create_params.Healthmonitor] | Omit = omit,
1014
1020
  listener_id: Optional[str] | Omit = omit,
1015
1021
  load_balancer_id: Optional[str] | Omit = omit,
1016
- members: Optional[Iterable[pool_create_params.Member]] | Omit = omit,
1022
+ members: Iterable[pool_create_params.Member] | Omit = omit,
1017
1023
  secret_id: Optional[str] | Omit = omit,
1018
1024
  session_persistence: Optional[pool_create_params.SessionPersistence] | Omit = omit,
1019
1025
  timeout_client_data: Optional[int] | Omit = omit,
1020
1026
  timeout_member_connect: Optional[int] | Omit = omit,
1021
1027
  timeout_member_data: Optional[int] | Omit = omit,
1022
1028
  polling_interval_seconds: int | Omit = omit,
1029
+ polling_timeout_seconds: int | Omit = omit,
1023
1030
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
1024
1031
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
1025
1032
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -1055,6 +1062,7 @@ class AsyncPoolsResource(AsyncAPIResource):
1055
1062
  task_id=response.tasks[0],
1056
1063
  extra_headers=extra_headers,
1057
1064
  polling_interval_seconds=polling_interval_seconds,
1065
+ polling_timeout_seconds=polling_timeout_seconds,
1058
1066
  )
1059
1067
  if not task.created_resources or not task.created_resources.pools or len(task.created_resources.pools) != 1:
1060
1068
  raise ValueError(f"Expected exactly one resource to be created in a task")
@@ -1073,6 +1081,7 @@ class AsyncPoolsResource(AsyncAPIResource):
1073
1081
  project_id: int | None = None,
1074
1082
  region_id: int | None = None,
1075
1083
  polling_interval_seconds: int | Omit = omit,
1084
+ polling_timeout_seconds: int | Omit = omit,
1076
1085
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
1077
1086
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
1078
1087
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -1098,6 +1107,7 @@ class AsyncPoolsResource(AsyncAPIResource):
1098
1107
  task_id=response.tasks[0],
1099
1108
  extra_headers=extra_headers,
1100
1109
  polling_interval_seconds=polling_interval_seconds,
1110
+ polling_timeout_seconds=polling_timeout_seconds,
1101
1111
  )
1102
1112
 
1103
1113
  async def update_and_poll(
@@ -1119,6 +1129,7 @@ class AsyncPoolsResource(AsyncAPIResource):
1119
1129
  timeout_member_connect: Optional[int] | Omit = omit,
1120
1130
  timeout_member_data: Optional[int] | Omit = omit,
1121
1131
  polling_interval_seconds: int | Omit = omit,
1132
+ polling_timeout_seconds: int | Omit = omit,
1122
1133
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
1123
1134
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
1124
1135
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -1156,6 +1167,7 @@ class AsyncPoolsResource(AsyncAPIResource):
1156
1167
  task_id=response.tasks[0],
1157
1168
  extra_headers=extra_headers,
1158
1169
  polling_interval_seconds=polling_interval_seconds,
1170
+ polling_timeout_seconds=polling_timeout_seconds,
1159
1171
  )
1160
1172
  return await self.get(
1161
1173
  pool_id=pool_id,
@@ -1185,6 +1197,15 @@ class PoolsResourceWithRawResponse:
1185
1197
  self.get = to_raw_response_wrapper(
1186
1198
  pools.get,
1187
1199
  )
1200
+ self.create_and_poll = to_raw_response_wrapper(
1201
+ pools.create_and_poll,
1202
+ )
1203
+ self.delete_and_poll = to_raw_response_wrapper(
1204
+ pools.delete_and_poll,
1205
+ )
1206
+ self.update_and_poll = to_raw_response_wrapper(
1207
+ pools.update_and_poll,
1208
+ )
1188
1209
 
1189
1210
  @cached_property
1190
1211
  def health_monitors(self) -> HealthMonitorsResourceWithRawResponse:
@@ -1214,6 +1235,15 @@ class AsyncPoolsResourceWithRawResponse:
1214
1235
  self.get = async_to_raw_response_wrapper(
1215
1236
  pools.get,
1216
1237
  )
1238
+ self.create_and_poll = async_to_raw_response_wrapper(
1239
+ pools.create_and_poll,
1240
+ )
1241
+ self.delete_and_poll = async_to_raw_response_wrapper(
1242
+ pools.delete_and_poll,
1243
+ )
1244
+ self.update_and_poll = async_to_raw_response_wrapper(
1245
+ pools.update_and_poll,
1246
+ )
1217
1247
 
1218
1248
  @cached_property
1219
1249
  def health_monitors(self) -> AsyncHealthMonitorsResourceWithRawResponse:
@@ -1243,6 +1273,15 @@ class PoolsResourceWithStreamingResponse:
1243
1273
  self.get = to_streamed_response_wrapper(
1244
1274
  pools.get,
1245
1275
  )
1276
+ self.create_and_poll = to_streamed_response_wrapper(
1277
+ pools.create_and_poll,
1278
+ )
1279
+ self.delete_and_poll = to_streamed_response_wrapper(
1280
+ pools.delete_and_poll,
1281
+ )
1282
+ self.update_and_poll = to_streamed_response_wrapper(
1283
+ pools.update_and_poll,
1284
+ )
1246
1285
 
1247
1286
  @cached_property
1248
1287
  def health_monitors(self) -> HealthMonitorsResourceWithStreamingResponse:
@@ -1272,6 +1311,15 @@ class AsyncPoolsResourceWithStreamingResponse:
1272
1311
  self.get = async_to_streamed_response_wrapper(
1273
1312
  pools.get,
1274
1313
  )
1314
+ self.create_and_poll = async_to_streamed_response_wrapper(
1315
+ pools.create_and_poll,
1316
+ )
1317
+ self.delete_and_poll = async_to_streamed_response_wrapper(
1318
+ pools.delete_and_poll,
1319
+ )
1320
+ self.update_and_poll = async_to_streamed_response_wrapper(
1321
+ pools.update_and_poll,
1322
+ )
1275
1323
 
1276
1324
  @cached_property
1277
1325
  def health_monitors(self) -> AsyncHealthMonitorsResourceWithStreamingResponse:
@@ -101,9 +101,10 @@ class NetworksResource(SyncAPIResource):
101
101
 
102
102
  tags: Key-value tags to associate with the resource. A tag is a key-value pair that
103
103
  can be associated with a resource, enabling efficient filtering and grouping for
104
- better organization and management. Some tags are read-only and cannot be
105
- modified by the user. Tags are also integrated with cost reports, allowing cost
106
- data to be filtered based on tag keys or values.
104
+ better organization and management. Both tag keys and values have a maximum
105
+ length of 255 characters. Some tags are read-only and cannot be modified by the
106
+ user. Tags are also integrated with cost reports, allowing cost data to be
107
+ filtered based on tag keys or values.
107
108
 
108
109
  type: vlan or vxlan network type is allowed. Default value is vxlan
109
110
 
@@ -146,6 +147,7 @@ class NetworksResource(SyncAPIResource):
146
147
  tags: Dict[str, str] | Omit = omit,
147
148
  type: Literal["vlan", "vxlan"] | Omit = omit,
148
149
  polling_interval_seconds: int | Omit = omit,
150
+ polling_timeout_seconds: int | Omit = omit,
149
151
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
150
152
  # The extra values given here take precedence over values defined on the client or passed to this method.
151
153
  extra_headers: Headers | None = None,
@@ -172,6 +174,7 @@ class NetworksResource(SyncAPIResource):
172
174
  task_id=response.tasks[0],
173
175
  extra_headers=extra_headers,
174
176
  polling_interval_seconds=polling_interval_seconds,
177
+ polling_timeout_seconds=polling_timeout_seconds,
175
178
  )
176
179
  if (
177
180
  not task.created_resources
@@ -226,15 +229,20 @@ class NetworksResource(SyncAPIResource):
226
229
  - **Add/update tags:**
227
230
  `{'tags': {'environment': 'production', 'team': 'backend'}}` adds new tags or
228
231
  updates existing ones.
229
- - **Delete tags:** `{'tags': {'`old_tag`': null}}` removes specific tags.
232
+
233
+ - **Delete tags:** `{'tags': {'old_tag': null}}` removes specific tags.
234
+
230
235
  - **Remove all tags:** `{'tags': null}` removes all user-managed tags (read-only
231
236
  tags are preserved).
237
+
232
238
  - **Partial update:** `{'tags': {'environment': 'staging'}}` only updates
233
239
  specified tags.
240
+
234
241
  - **Mixed operations:**
235
- `{'tags': {'environment': 'production', '`cost_center`': 'engineering', '`deprecated_tag`': null}}`
242
+ `{'tags': {'environment': 'production', 'cost_center': 'engineering', 'deprecated_tag': null}}`
236
243
  adds/updates 'environment' and '`cost_center`' while removing
237
244
  '`deprecated_tag`', preserving other existing tags.
245
+
238
246
  - **Replace all:** first delete existing tags with null values, then add new
239
247
  ones in the same request.
240
248
 
@@ -394,6 +402,7 @@ class NetworksResource(SyncAPIResource):
394
402
  project_id: int | None = None,
395
403
  region_id: int | None = None,
396
404
  polling_interval_seconds: int | Omit = omit,
405
+ polling_timeout_seconds: int | Omit = omit,
397
406
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
398
407
  # The extra values given here take precedence over values defined on the client or passed to this method.
399
408
  extra_headers: Headers | None = None,
@@ -417,6 +426,7 @@ class NetworksResource(SyncAPIResource):
417
426
  task_id=response.tasks[0],
418
427
  extra_headers=extra_headers,
419
428
  polling_interval_seconds=polling_interval_seconds,
429
+ polling_timeout_seconds=polling_timeout_seconds,
420
430
  )
421
431
 
422
432
  def get(
@@ -523,9 +533,10 @@ class AsyncNetworksResource(AsyncAPIResource):
523
533
 
524
534
  tags: Key-value tags to associate with the resource. A tag is a key-value pair that
525
535
  can be associated with a resource, enabling efficient filtering and grouping for
526
- better organization and management. Some tags are read-only and cannot be
527
- modified by the user. Tags are also integrated with cost reports, allowing cost
528
- data to be filtered based on tag keys or values.
536
+ better organization and management. Both tag keys and values have a maximum
537
+ length of 255 characters. Some tags are read-only and cannot be modified by the
538
+ user. Tags are also integrated with cost reports, allowing cost data to be
539
+ filtered based on tag keys or values.
529
540
 
530
541
  type: vlan or vxlan network type is allowed. Default value is vxlan
531
542
 
@@ -568,6 +579,7 @@ class AsyncNetworksResource(AsyncAPIResource):
568
579
  tags: Dict[str, str] | Omit = omit,
569
580
  type: Literal["vlan", "vxlan"] | Omit = omit,
570
581
  polling_interval_seconds: int | Omit = omit,
582
+ polling_timeout_seconds: int | Omit = omit,
571
583
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
572
584
  # The extra values given here take precedence over values defined on the client or passed to this method.
573
585
  extra_headers: Headers | None = None,
@@ -594,6 +606,7 @@ class AsyncNetworksResource(AsyncAPIResource):
594
606
  task_id=response.tasks[0],
595
607
  extra_headers=extra_headers,
596
608
  polling_interval_seconds=polling_interval_seconds,
609
+ polling_timeout_seconds=polling_timeout_seconds,
597
610
  )
598
611
  if (
599
612
  not task.created_resources
@@ -648,15 +661,20 @@ class AsyncNetworksResource(AsyncAPIResource):
648
661
  - **Add/update tags:**
649
662
  `{'tags': {'environment': 'production', 'team': 'backend'}}` adds new tags or
650
663
  updates existing ones.
651
- - **Delete tags:** `{'tags': {'`old_tag`': null}}` removes specific tags.
664
+
665
+ - **Delete tags:** `{'tags': {'old_tag': null}}` removes specific tags.
666
+
652
667
  - **Remove all tags:** `{'tags': null}` removes all user-managed tags (read-only
653
668
  tags are preserved).
669
+
654
670
  - **Partial update:** `{'tags': {'environment': 'staging'}}` only updates
655
671
  specified tags.
672
+
656
673
  - **Mixed operations:**
657
- `{'tags': {'environment': 'production', '`cost_center`': 'engineering', '`deprecated_tag`': null}}`
674
+ `{'tags': {'environment': 'production', 'cost_center': 'engineering', 'deprecated_tag': null}}`
658
675
  adds/updates 'environment' and '`cost_center`' while removing
659
676
  '`deprecated_tag`', preserving other existing tags.
677
+
660
678
  - **Replace all:** first delete existing tags with null values, then add new
661
679
  ones in the same request.
662
680
 
@@ -816,6 +834,7 @@ class AsyncNetworksResource(AsyncAPIResource):
816
834
  project_id: int | None = None,
817
835
  region_id: int | None = None,
818
836
  polling_interval_seconds: int | Omit = omit,
837
+ polling_timeout_seconds: int | Omit = omit,
819
838
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
820
839
  # The extra values given here take precedence over values defined on the client or passed to this method.
821
840
  extra_headers: Headers | None = None,
@@ -839,6 +858,7 @@ class AsyncNetworksResource(AsyncAPIResource):
839
858
  task_id=response.tasks[0],
840
859
  extra_headers=extra_headers,
841
860
  polling_interval_seconds=polling_interval_seconds,
861
+ polling_timeout_seconds=polling_timeout_seconds,
842
862
  )
843
863
 
844
864
  async def get(