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
@@ -0,0 +1,75 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import Union
6
+ from datetime import datetime
7
+ from typing_extensions import Literal, Annotated, TypedDict
8
+
9
+ from ...._types import SequenceNotStr
10
+ from ...._utils import PropertyInfo
11
+
12
+ __all__ = ["ServerListParams"]
13
+
14
+
15
+ class ServerListParams(TypedDict, total=False):
16
+ project_id: int
17
+ """Project ID"""
18
+
19
+ region_id: int
20
+ """Region ID"""
21
+
22
+ changed_before: Annotated[Union[str, datetime], PropertyInfo(format="iso8601")]
23
+ """
24
+ Filters the results to include only servers whose last change timestamp is less
25
+ than the specified datetime. Format: ISO 8601.
26
+ """
27
+
28
+ changed_since: Annotated[Union[str, datetime], PropertyInfo(format="iso8601")]
29
+ """
30
+ Filters the results to include only servers whose last change timestamp is
31
+ greater than or equal to the specified datetime. Format: ISO 8601.
32
+ """
33
+
34
+ ip_address: str
35
+ """Filter servers by ip address."""
36
+
37
+ limit: int
38
+ """Limit of items on a single page"""
39
+
40
+ name: str
41
+ """Filter servers by name.
42
+
43
+ You can provide a full or partial name, servers with matching names will be
44
+ returned. For example, entering 'test' will return all servers that contain
45
+ 'test' in their name.
46
+ """
47
+
48
+ offset: int
49
+ """Offset in results list"""
50
+
51
+ order_by: Literal["created_at.asc", "created_at.desc", "status.asc", "status.desc"]
52
+ """Order field"""
53
+
54
+ status: Literal[
55
+ "ACTIVE",
56
+ "BUILD",
57
+ "ERROR",
58
+ "HARD_REBOOT",
59
+ "MIGRATING",
60
+ "PAUSED",
61
+ "REBOOT",
62
+ "REBUILD",
63
+ "RESIZE",
64
+ "REVERT_RESIZE",
65
+ "SHELVED",
66
+ "SHELVED_OFFLOADED",
67
+ "SHUTOFF",
68
+ "SOFT_DELETED",
69
+ "SUSPENDED",
70
+ "VERIFY_RESIZE",
71
+ ]
72
+ """Filters servers by status."""
73
+
74
+ uuids: SequenceNotStr[str]
75
+ """Filter servers by uuid."""
@@ -80,6 +80,15 @@ class Image(BaseModel):
80
80
 
81
81
  display_order: Optional[int] = None
82
82
 
83
+ gpu_driver: Optional[str] = None
84
+ """Name of the GPU driver vendor"""
85
+
86
+ gpu_driver_type: Optional[str] = None
87
+ """Type of the GPU driver"""
88
+
89
+ gpu_driver_version: Optional[str] = None
90
+ """Version of the installed GPU driver"""
91
+
83
92
  hw_firmware_type: Optional[Literal["bios", "uefi"]] = None
84
93
  """Specifies the type of firmware with which to boot the guest."""
85
94
 
@@ -75,7 +75,7 @@ class DeploymentCreateParams(TypedDict, total=False):
75
75
  auth_enabled: bool
76
76
  """Set to `true` to enable API key authentication for the inference instance.
77
77
 
78
- `"Authorization": "Bearer ****\\**"` or `"X-Api-Key": "****\\**"` header is required
78
+ `"Authorization": "Bearer *****"` or `"X-Api-Key": "*****"` header is required
79
79
  for the requests to the instance if enabled. This field is deprecated and will
80
80
  be removed in the future. Use `api_keys` field instead.If `auth_enabled` and
81
81
  `api_keys` are both specified, a ValidationError will be raised.
@@ -56,7 +56,7 @@ class DeploymentUpdateParams(TypedDict, total=False):
56
56
  auth_enabled: bool
57
57
  """Set to `true` to enable API key authentication for the inference instance.
58
58
 
59
- `"Authorization": "Bearer ****\\**"` or `"X-Api-Key": "****\\**"` header is required
59
+ `"Authorization": "Bearer *****"` or `"X-Api-Key": "*****"` header is required
60
60
  for the requests to the instance if enabled. This field is deprecated and will
61
61
  be removed in the future. Use `api_keys` field instead.If `auth_enabled` and
62
62
  `api_keys` are both specified, a ValidationError will be raised.
@@ -184,7 +184,7 @@ class InferenceDeployment(BaseModel):
184
184
  auth_enabled: bool
185
185
  """`true` if instance uses API key authentication.
186
186
 
187
- `"Authorization": "Bearer ****\\**"` or `"X-Api-Key": "****\\**"` header is required
187
+ `"Authorization": "Bearer *****"` or `"X-Api-Key": "*****"` header is required
188
188
  for the requests to the instance if enabled.
189
189
  """
190
190
 
@@ -63,7 +63,7 @@ class InstanceCreateParams(TypedDict, total=False):
63
63
  marketplace application template.
64
64
  """
65
65
 
66
- configuration: Optional[object]
66
+ configuration: Optional[Dict[str, object]]
67
67
  """
68
68
  Parameters for the application template if creating the instance from an
69
69
  `apptemplate`.
@@ -77,8 +77,8 @@ class InstanceCreateParams(TypedDict, total=False):
77
77
  If you want the instance name to be automatically generated based on IP
78
78
  addresses, you can provide a name template instead of specifying the name
79
79
  manually. The template should include a placeholder that will be replaced during
80
- provisioning. Supported placeholders are: `{`ip_octets`}` (last 3 octets of the
81
- IP), `{`two_ip_octets`}`, and `{`one_ip_octet`}`.
80
+ provisioning. Supported placeholders are: `{ip_octets}` (last 3 octets of the
81
+ IP), `{two_ip_octets}`, and `{one_ip_octet}`.
82
82
  """
83
83
 
84
84
  password: str
@@ -118,10 +118,10 @@ class InstanceCreateParams(TypedDict, total=False):
118
118
  """Key-value tags to associate with the resource.
119
119
 
120
120
  A tag is a key-value pair that can be associated with a resource, enabling
121
- efficient filtering and grouping for better organization and management. Some
122
- tags are read-only and cannot be modified by the user. Tags are also integrated
123
- with cost reports, allowing cost data to be filtered based on tag keys or
124
- values.
121
+ efficient filtering and grouping for better organization and management. Both
122
+ tag keys and values have a maximum length of 255 characters. Some tags are
123
+ read-only and cannot be modified by the user. Tags are also integrated with cost
124
+ reports, allowing cost data to be filtered based on tag keys or values.
125
125
  """
126
126
 
127
127
  user_data: str
@@ -394,10 +394,10 @@ class VolumeCreateInstanceCreateNewVolumeSerializer(TypedDict, total=False):
394
394
  """Key-value tags to associate with the resource.
395
395
 
396
396
  A tag is a key-value pair that can be associated with a resource, enabling
397
- efficient filtering and grouping for better organization and management. Some
398
- tags are read-only and cannot be modified by the user. Tags are also integrated
399
- with cost reports, allowing cost data to be filtered based on tag keys or
400
- values.
397
+ efficient filtering and grouping for better organization and management. Both
398
+ tag keys and values have a maximum length of 255 characters. Some tags are
399
+ read-only and cannot be modified by the user. Tags are also integrated with cost
400
+ reports, allowing cost data to be filtered based on tag keys or values.
401
401
  """
402
402
 
403
403
  type_name: Literal["cold", "ssd_hiiops", "ssd_local", "ssd_lowlatency", "standard", "ultra"]
@@ -455,10 +455,10 @@ class VolumeCreateInstanceCreateVolumeFromImageSerializer(TypedDict, total=False
455
455
  """Key-value tags to associate with the resource.
456
456
 
457
457
  A tag is a key-value pair that can be associated with a resource, enabling
458
- efficient filtering and grouping for better organization and management. Some
459
- tags are read-only and cannot be modified by the user. Tags are also integrated
460
- with cost reports, allowing cost data to be filtered based on tag keys or
461
- values.
458
+ efficient filtering and grouping for better organization and management. Both
459
+ tag keys and values have a maximum length of 255 characters. Some tags are
460
+ read-only and cannot be modified by the user. Tags are also integrated with cost
461
+ reports, allowing cost data to be filtered based on tag keys or values.
462
462
  """
463
463
 
464
464
  type_name: Literal["cold", "ssd_hiiops", "ssd_local", "ssd_lowlatency", "standard", "ultra"]
@@ -509,10 +509,10 @@ class VolumeCreateInstanceCreateVolumeFromSnapshotSerializer(TypedDict, total=Fa
509
509
  """Key-value tags to associate with the resource.
510
510
 
511
511
  A tag is a key-value pair that can be associated with a resource, enabling
512
- efficient filtering and grouping for better organization and management. Some
513
- tags are read-only and cannot be modified by the user. Tags are also integrated
514
- with cost reports, allowing cost data to be filtered based on tag keys or
515
- values.
512
+ efficient filtering and grouping for better organization and management. Both
513
+ tag keys and values have a maximum length of 255 characters. Some tags are
514
+ read-only and cannot be modified by the user. Tags are also integrated with cost
515
+ reports, allowing cost data to be filtered based on tag keys or values.
516
516
  """
517
517
 
518
518
  type_name: Literal["ssd_hiiops", "standard"]
@@ -555,10 +555,10 @@ class VolumeCreateInstanceCreateVolumeFromApptemplateSerializer(TypedDict, total
555
555
  """Key-value tags to associate with the resource.
556
556
 
557
557
  A tag is a key-value pair that can be associated with a resource, enabling
558
- efficient filtering and grouping for better organization and management. Some
559
- tags are read-only and cannot be modified by the user. Tags are also integrated
560
- with cost reports, allowing cost data to be filtered based on tag keys or
561
- values.
558
+ efficient filtering and grouping for better organization and management. Both
559
+ tag keys and values have a maximum length of 255 characters. Some tags are
560
+ read-only and cannot be modified by the user. Tags are also integrated with cost
561
+ reports, allowing cost data to be filtered based on tag keys or values.
562
562
  """
563
563
 
564
564
  type_name: Literal["cold", "ssd_hiiops", "ssd_local", "ssd_lowlatency", "standard", "ultra"]
@@ -600,10 +600,10 @@ class VolumeCreateInstanceExistingVolumeSerializer(TypedDict, total=False):
600
600
  """Key-value tags to associate with the resource.
601
601
 
602
602
  A tag is a key-value pair that can be associated with a resource, enabling
603
- efficient filtering and grouping for better organization and management. Some
604
- tags are read-only and cannot be modified by the user. Tags are also integrated
605
- with cost reports, allowing cost data to be filtered based on tag keys or
606
- values.
603
+ efficient filtering and grouping for better organization and management. Both
604
+ tag keys and values have a maximum length of 255 characters. Some tags are
605
+ read-only and cannot be modified by the user. Tags are also integrated with cost
606
+ reports, allowing cost data to be filtered based on tag keys or values.
607
607
  """
608
608
 
609
609
 
@@ -32,15 +32,20 @@ class InstanceUpdateParams(TypedDict, total=False):
32
32
  - **Add/update tags:**
33
33
  `{'tags': {'environment': 'production', 'team': 'backend'}}` adds new tags or
34
34
  updates existing ones.
35
- - **Delete tags:** `{'tags': {'`old_tag`': null}}` removes specific tags.
35
+
36
+ - **Delete tags:** `{'tags': {'old_tag': null}}` removes specific tags.
37
+
36
38
  - **Remove all tags:** `{'tags': null}` removes all user-managed tags (read-only
37
39
  tags are preserved).
40
+
38
41
  - **Partial update:** `{'tags': {'environment': 'staging'}}` only updates
39
42
  specified tags.
43
+
40
44
  - **Mixed operations:**
41
- `{'tags': {'environment': 'production', '`cost_center`': 'engineering', '`deprecated_tag`': null}}`
45
+ `{'tags': {'environment': 'production', 'cost_center': 'engineering', 'deprecated_tag': null}}`
42
46
  adds/updates 'environment' and '`cost_center`' while removing
43
47
  '`deprecated_tag`', preserving other existing tags.
48
+
44
49
  - **Replace all:** first delete existing tags with null values, then add new
45
50
  ones in the same request.
46
51
  """
@@ -44,8 +44,8 @@ class ImageCreateFromVolumeParams(TypedDict, total=False):
44
44
  """Key-value tags to associate with the resource.
45
45
 
46
46
  A tag is a key-value pair that can be associated with a resource, enabling
47
- efficient filtering and grouping for better organization and management. Some
48
- tags are read-only and cannot be modified by the user. Tags are also integrated
49
- with cost reports, allowing cost data to be filtered based on tag keys or
50
- values.
47
+ efficient filtering and grouping for better organization and management. Both
48
+ tag keys and values have a maximum length of 255 characters. Some tags are
49
+ read-only and cannot be modified by the user. Tags are also integrated with cost
50
+ reports, allowing cost data to be filtered based on tag keys or values.
51
51
  """
@@ -36,8 +36,8 @@ class ImageUpdateParams(TypedDict, total=False):
36
36
  """Key-value tags to associate with the resource.
37
37
 
38
38
  A tag is a key-value pair that can be associated with a resource, enabling
39
- efficient filtering and grouping for better organization and management. Some
40
- tags are read-only and cannot be modified by the user. Tags are also integrated
41
- with cost reports, allowing cost data to be filtered based on tag keys or
42
- values.
39
+ efficient filtering and grouping for better organization and management. Both
40
+ tag keys and values have a maximum length of 255 characters. Some tags are
41
+ read-only and cannot be modified by the user. Tags are also integrated with cost
42
+ reports, allowing cost data to be filtered based on tag keys or values.
43
43
  """
@@ -53,8 +53,8 @@ class ImageUploadParams(TypedDict, total=False):
53
53
  """Key-value tags to associate with the resource.
54
54
 
55
55
  A tag is a key-value pair that can be associated with a resource, enabling
56
- efficient filtering and grouping for better organization and management. Some
57
- tags are read-only and cannot be modified by the user. Tags are also integrated
58
- with cost reports, allowing cost data to be filtered based on tag keys or
59
- values.
56
+ efficient filtering and grouping for better organization and management. Both
57
+ tag keys and values have a maximum length of 255 characters. Some tags are
58
+ read-only and cannot be modified by the user. Tags are also integrated with cost
59
+ reports, allowing cost data to be filtered based on tag keys or values.
60
60
  """
@@ -2,12 +2,12 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from .k8s_cluster import K8sCluster as K8sCluster
6
- from .k8s_cluster_list import K8sClusterList as K8sClusterList
5
+ from .k8s_cluster import K8SCluster as K8SCluster
6
+ from .k8s_cluster_list import K8SClusterList as K8SClusterList
7
7
  from .flavor_list_params import FlavorListParams as FlavorListParams
8
8
  from .cluster_create_params import ClusterCreateParams as ClusterCreateParams
9
9
  from .cluster_delete_params import ClusterDeleteParams as ClusterDeleteParams
10
10
  from .cluster_update_params import ClusterUpdateParams as ClusterUpdateParams
11
11
  from .cluster_upgrade_params import ClusterUpgradeParams as ClusterUpgradeParams
12
- from .k8s_cluster_kubeconfig import K8sClusterKubeconfig as K8sClusterKubeconfig
13
- from .k8s_cluster_certificate import K8sClusterCertificate as K8sClusterCertificate
12
+ from .k8s_cluster_kubeconfig import K8SClusterKubeconfig as K8SClusterKubeconfig
13
+ from .k8s_cluster_certificate import K8SClusterCertificate as K8SClusterCertificate
@@ -12,8 +12,8 @@ __all__ = [
12
12
  "ClusterUpdateParams",
13
13
  "AddOns",
14
14
  "AddOnsSlurm",
15
- "AddOnsSlurmK8sClusterSlurmAddonEnableV2Serializer",
16
- "AddOnsSlurmK8sClusterSlurmAddonDisableV2Serializer",
15
+ "AddOnsSlurmK8SClusterSlurmAddonEnableV2Serializer",
16
+ "AddOnsSlurmK8SClusterSlurmAddonDisableV2Serializer",
17
17
  "Authentication",
18
18
  "AuthenticationOidc",
19
19
  "Cni",
@@ -105,7 +105,7 @@ class ClusterUpdateParams(TypedDict, total=False):
105
105
  """Logging configuration"""
106
106
 
107
107
 
108
- class AddOnsSlurmK8sClusterSlurmAddonEnableV2Serializer(TypedDict, total=False):
108
+ class AddOnsSlurmK8SClusterSlurmAddonEnableV2Serializer(TypedDict, total=False):
109
109
  enabled: Required[Literal[True]]
110
110
  """The Slurm add-on will be enabled in the cluster.
111
111
 
@@ -134,13 +134,13 @@ class AddOnsSlurmK8sClusterSlurmAddonEnableV2Serializer(TypedDict, total=False):
134
134
  """
135
135
 
136
136
 
137
- class AddOnsSlurmK8sClusterSlurmAddonDisableV2Serializer(TypedDict, total=False):
137
+ class AddOnsSlurmK8SClusterSlurmAddonDisableV2Serializer(TypedDict, total=False):
138
138
  enabled: Required[Literal[False]]
139
139
  """The Slurm add-on will be disabled in the cluster."""
140
140
 
141
141
 
142
142
  AddOnsSlurm: TypeAlias = Union[
143
- AddOnsSlurmK8sClusterSlurmAddonEnableV2Serializer, AddOnsSlurmK8sClusterSlurmAddonDisableV2Serializer
143
+ AddOnsSlurmK8SClusterSlurmAddonEnableV2Serializer, AddOnsSlurmK8SClusterSlurmAddonDisableV2Serializer
144
144
  ]
145
145
 
146
146
 
@@ -2,9 +2,9 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from .k8s_cluster_pool import K8sClusterPool as K8sClusterPool
5
+ from .k8s_cluster_pool import K8SClusterPool as K8SClusterPool
6
6
  from .node_list_params import NodeListParams as NodeListParams
7
7
  from .pool_create_params import PoolCreateParams as PoolCreateParams
8
8
  from .pool_resize_params import PoolResizeParams as PoolResizeParams
9
9
  from .pool_update_params import PoolUpdateParams as PoolUpdateParams
10
- from .k8s_cluster_pool_list import K8sClusterPoolList as K8sClusterPoolList
10
+ from .k8s_cluster_pool_list import K8SClusterPoolList as K8SClusterPoolList
@@ -4,10 +4,10 @@ from typing import Dict, Optional
4
4
 
5
5
  from ....._models import BaseModel
6
6
 
7
- __all__ = ["K8sClusterPool"]
7
+ __all__ = ["K8SClusterPool"]
8
8
 
9
9
 
10
- class K8sClusterPool(BaseModel):
10
+ class K8SClusterPool(BaseModel):
11
11
  id: str
12
12
  """UUID of the cluster pool"""
13
13
 
@@ -3,14 +3,14 @@
3
3
  from typing import List
4
4
 
5
5
  from ....._models import BaseModel
6
- from .k8s_cluster_pool import K8sClusterPool
6
+ from .k8s_cluster_pool import K8SClusterPool
7
7
 
8
- __all__ = ["K8sClusterPoolList"]
8
+ __all__ = ["K8SClusterPoolList"]
9
9
 
10
10
 
11
- class K8sClusterPoolList(BaseModel):
11
+ class K8SClusterPoolList(BaseModel):
12
12
  count: int
13
13
  """Number of objects"""
14
14
 
15
- results: List[K8sClusterPool]
15
+ results: List[K8SClusterPool]
16
16
  """Objects"""
@@ -6,10 +6,10 @@ from typing_extensions import Literal
6
6
 
7
7
  from ..logging import Logging
8
8
  from ...._models import BaseModel
9
- from .clusters.k8s_cluster_pool import K8sClusterPool
9
+ from .clusters.k8s_cluster_pool import K8SClusterPool
10
10
 
11
11
  __all__ = [
12
- "K8sCluster",
12
+ "K8SCluster",
13
13
  "AddOns",
14
14
  "AddOnsSlurm",
15
15
  "Csi",
@@ -164,7 +164,7 @@ class DDOSProfile(BaseModel):
164
164
  """DDoS profile template name"""
165
165
 
166
166
 
167
- class K8sCluster(BaseModel):
167
+ class K8SCluster(BaseModel):
168
168
  id: str
169
169
  """Cluster pool uuid"""
170
170
 
@@ -189,7 +189,7 @@ class K8sCluster(BaseModel):
189
189
  name: str
190
190
  """Name"""
191
191
 
192
- pools: List[K8sClusterPool]
192
+ pools: List[K8SClusterPool]
193
193
  """pools"""
194
194
 
195
195
  status: Literal["Deleting", "Provisioned", "Provisioning"]
@@ -2,10 +2,10 @@
2
2
 
3
3
  from ...._models import BaseModel
4
4
 
5
- __all__ = ["K8sClusterCertificate"]
5
+ __all__ = ["K8SClusterCertificate"]
6
6
 
7
7
 
8
- class K8sClusterCertificate(BaseModel):
8
+ class K8SClusterCertificate(BaseModel):
9
9
  certificate: str
10
10
  """Cluster CA certificate"""
11
11
 
@@ -5,13 +5,25 @@ from datetime import datetime
5
5
 
6
6
  from ...._models import BaseModel
7
7
 
8
- __all__ = ["K8sClusterKubeconfig"]
8
+ __all__ = ["K8SClusterKubeconfig"]
9
9
 
10
10
 
11
- class K8sClusterKubeconfig(BaseModel):
11
+ class K8SClusterKubeconfig(BaseModel):
12
+ client_certificate: str
13
+ """String in base64 format. Cluster client certificate"""
14
+
15
+ client_key: str
16
+ """String in base64 format. Cluster client key"""
17
+
18
+ cluster_ca_certificate: str
19
+ """String in base64 format. Cluster ca certificate"""
20
+
12
21
  config: str
13
22
  """Cluster kubeconfig"""
14
23
 
24
+ host: str
25
+ """Cluster host"""
26
+
15
27
  created_at: Optional[datetime] = None
16
28
  """Kubeconfig creation date"""
17
29
 
@@ -3,14 +3,14 @@
3
3
  from typing import List
4
4
 
5
5
  from ...._models import BaseModel
6
- from .k8s_cluster import K8sCluster
6
+ from .k8s_cluster import K8SCluster
7
7
 
8
- __all__ = ["K8sClusterList"]
8
+ __all__ = ["K8SClusterList"]
9
9
 
10
10
 
11
- class K8sClusterList(BaseModel):
11
+ class K8SClusterList(BaseModel):
12
12
  count: int
13
13
  """Number of objects"""
14
14
 
15
- results: List[K8sCluster]
15
+ results: List[K8SCluster]
16
16
  """Objects"""
@@ -2,9 +2,9 @@
2
2
 
3
3
  from ..._models import BaseModel
4
4
 
5
- __all__ = ["K8sClusterVersion"]
5
+ __all__ = ["K8SClusterVersion"]
6
6
 
7
7
 
8
- class K8sClusterVersion(BaseModel):
8
+ class K8SClusterVersion(BaseModel):
9
9
  version: str
10
10
  """List of supported Kubernetes cluster versions"""
@@ -3,14 +3,14 @@
3
3
  from typing import List
4
4
 
5
5
  from ..._models import BaseModel
6
- from .k8s_cluster_version import K8sClusterVersion
6
+ from .k8s_cluster_version import K8SClusterVersion
7
7
 
8
- __all__ = ["K8sClusterVersionList"]
8
+ __all__ = ["K8SClusterVersionList"]
9
9
 
10
10
 
11
- class K8sClusterVersionList(BaseModel):
11
+ class K8SClusterVersionList(BaseModel):
12
12
  count: int
13
13
  """Number of objects"""
14
14
 
15
- results: List[K8sClusterVersion]
15
+ results: List[K8SClusterVersion]
16
16
  """Objects"""
@@ -52,10 +52,13 @@ class LoadBalancerCreateParams(TypedDict, total=False):
52
52
  """Logging configuration"""
53
53
 
54
54
  name: str
55
- """Load balancer name"""
55
+ """Load balancer name. Either `name` or `name_template` should be specified."""
56
56
 
57
57
  name_template: str
58
- """Load balancer name which will be changed by template."""
58
+ """Load balancer name which will be changed by template.
59
+
60
+ Either `name` or `name_template` should be specified.
61
+ """
59
62
 
60
63
  preferred_connectivity: LoadBalancerMemberConnectivity
61
64
  """
@@ -70,10 +73,10 @@ class LoadBalancerCreateParams(TypedDict, total=False):
70
73
  """Key-value tags to associate with the resource.
71
74
 
72
75
  A tag is a key-value pair that can be associated with a resource, enabling
73
- efficient filtering and grouping for better organization and management. Some
74
- tags are read-only and cannot be modified by the user. Tags are also integrated
75
- with cost reports, allowing cost data to be filtered based on tag keys or
76
- values.
76
+ efficient filtering and grouping for better organization and management. Both
77
+ tag keys and values have a maximum length of 255 characters. Some tags are
78
+ read-only and cannot be modified by the user. Tags are also integrated with cost
79
+ reports, allowing cost data to be filtered based on tag keys or values.
77
80
  """
78
81
 
79
82
  vip_ip_family: InterfaceIPFamily
@@ -277,7 +280,7 @@ class ListenerPool(TypedDict, total=False):
277
280
  load_balancer_id: Optional[str]
278
281
  """Loadbalancer ID"""
279
282
 
280
- members: Optional[Iterable[ListenerPoolMember]]
283
+ members: Iterable[ListenerPoolMember]
281
284
  """Pool members"""
282
285
 
283
286
  secret_id: Optional[str]
@@ -318,7 +321,10 @@ class Listener(TypedDict, total=False):
318
321
  """Network CIDRs from which service will be accessible"""
319
322
 
320
323
  connection_limit: int
321
- """Limit of the simultaneous connections"""
324
+ """Limit of the simultaneous connections.
325
+
326
+ If -1 is provided, it is translated to the default value 100000.
327
+ """
322
328
 
323
329
  insert_x_forwarded: bool
324
330
  """Add headers X-Forwarded-For, X-Forwarded-Port, X-Forwarded-Proto to requests.
@@ -1,6 +1,6 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
- from typing import Union, Optional
3
+ from typing import Dict, Union, Optional
4
4
  from typing_extensions import Literal, TypeAlias
5
5
 
6
6
  from ..._models import BaseModel
@@ -8,7 +8,7 @@ from .flavor_hardware_description import FlavorHardwareDescription
8
8
 
9
9
  __all__ = ["LoadBalancerFlavorDetail", "HardwareDescription"]
10
10
 
11
- HardwareDescription: TypeAlias = Union[FlavorHardwareDescription, object]
11
+ HardwareDescription: TypeAlias = Union[FlavorHardwareDescription, Dict[str, object]]
12
12
 
13
13
 
14
14
  class LoadBalancerFlavorDetail(BaseModel):