gcore 0.6.0__py3-none-any.whl → 0.7.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 (181) hide show
  1. gcore/_client.py +9 -0
  2. gcore/_models.py +24 -3
  3. gcore/_version.py +1 -1
  4. gcore/pagination.py +101 -1
  5. gcore/resources/__init__.py +14 -0
  6. gcore/resources/cloud/__init__.py +28 -0
  7. gcore/resources/cloud/cloud.py +64 -0
  8. gcore/resources/cloud/cost_reports.py +811 -0
  9. gcore/resources/cloud/file_shares/file_shares.py +10 -0
  10. gcore/resources/cloud/gpu_baremetal_clusters/gpu_baremetal_clusters.py +61 -26
  11. gcore/resources/cloud/inference/registry_credentials.py +4 -6
  12. gcore/resources/cloud/usage_reports.py +337 -0
  13. gcore/resources/streaming/__init__.py +159 -0
  14. gcore/resources/streaming/ai_tasks.py +1288 -0
  15. gcore/resources/streaming/broadcasts.py +579 -0
  16. gcore/resources/streaming/directories.py +515 -0
  17. gcore/resources/streaming/players.py +577 -0
  18. gcore/resources/streaming/playlists.py +1059 -0
  19. gcore/resources/streaming/quality_sets.py +331 -0
  20. gcore/resources/streaming/restreams.py +484 -0
  21. gcore/resources/streaming/statistics.py +3224 -0
  22. gcore/resources/streaming/streaming.py +390 -0
  23. gcore/resources/streaming/streams/__init__.py +33 -0
  24. gcore/resources/streaming/streams/overlays.py +716 -0
  25. gcore/resources/streaming/streams/streams.py +1592 -0
  26. gcore/resources/streaming/videos/__init__.py +33 -0
  27. gcore/resources/streaming/videos/subtitles.py +623 -0
  28. gcore/resources/streaming/videos/videos.py +1553 -0
  29. gcore/resources/waap/ip_info.py +28 -10
  30. gcore/types/cloud/__init__.py +10 -0
  31. gcore/types/cloud/cost_report_aggregated.py +865 -0
  32. gcore/types/cloud/cost_report_aggregated_monthly.py +865 -0
  33. gcore/types/cloud/cost_report_detailed.py +1343 -0
  34. gcore/types/cloud/cost_report_get_aggregated_monthly_params.py +394 -0
  35. gcore/types/cloud/cost_report_get_aggregated_params.py +409 -0
  36. gcore/types/cloud/cost_report_get_detailed_params.py +435 -0
  37. gcore/types/cloud/file_share.py +37 -3
  38. gcore/types/cloud/file_share_create_params.py +16 -0
  39. gcore/types/cloud/gpu_baremetal_cluster.py +2 -2
  40. gcore/types/cloud/gpu_baremetal_cluster_create_params.py +9 -0
  41. gcore/types/cloud/quota_get_all_response.py +24 -2
  42. gcore/types/cloud/quota_get_by_region_response.py +24 -2
  43. gcore/types/cloud/quotas/request_create_params.py +12 -1
  44. gcore/types/cloud/quotas/request_get_response.py +12 -1
  45. gcore/types/cloud/quotas/request_list_response.py +12 -1
  46. gcore/types/cloud/usage_report.py +1612 -0
  47. gcore/types/cloud/usage_report_get_params.py +432 -0
  48. gcore/types/streaming/__init__.py +143 -0
  49. gcore/types/streaming/ai_contentmoderation_casm.py +39 -0
  50. gcore/types/streaming/ai_contentmoderation_hardnudity.py +54 -0
  51. gcore/types/streaming/ai_contentmoderation_nsfw.py +39 -0
  52. gcore/types/streaming/ai_contentmoderation_softnudity.py +66 -0
  53. gcore/types/streaming/ai_contentmoderation_sport.py +39 -0
  54. gcore/types/streaming/ai_contentmoderation_weapon.py +39 -0
  55. gcore/types/streaming/ai_task.py +205 -0
  56. gcore/types/streaming/ai_task_cancel_response.py +12 -0
  57. gcore/types/streaming/ai_task_create_params.py +168 -0
  58. gcore/types/streaming/ai_task_create_response.py +10 -0
  59. gcore/types/streaming/ai_task_get_ai_settings_params.py +27 -0
  60. gcore/types/streaming/ai_task_get_ai_settings_response.py +12 -0
  61. gcore/types/streaming/ai_task_get_response.py +313 -0
  62. gcore/types/streaming/ai_task_list_params.py +50 -0
  63. gcore/types/streaming/broadcast.py +71 -0
  64. gcore/types/streaming/broadcast_create_params.py +76 -0
  65. gcore/types/streaming/broadcast_list_params.py +12 -0
  66. gcore/types/streaming/broadcast_spectators_count.py +12 -0
  67. gcore/types/streaming/broadcast_update_params.py +76 -0
  68. gcore/types/streaming/clip.py +78 -0
  69. gcore/types/streaming/create_video_param.py +214 -0
  70. gcore/types/streaming/direct_upload_parameters.py +33 -0
  71. gcore/types/streaming/directories_tree.py +19 -0
  72. gcore/types/streaming/directory_base.py +31 -0
  73. gcore/types/streaming/directory_create_params.py +15 -0
  74. gcore/types/streaming/directory_get_response.py +19 -0
  75. gcore/types/streaming/directory_item.py +13 -0
  76. gcore/types/streaming/directory_update_params.py +18 -0
  77. gcore/types/streaming/directory_video.py +13 -0
  78. gcore/types/streaming/ffprobes.py +25 -0
  79. gcore/types/streaming/max_stream_series.py +21 -0
  80. gcore/types/streaming/meet_series.py +23 -0
  81. gcore/types/streaming/player.py +114 -0
  82. gcore/types/streaming/player_create_params.py +18 -0
  83. gcore/types/streaming/player_list_params.py +12 -0
  84. gcore/types/streaming/player_param.py +114 -0
  85. gcore/types/streaming/player_update_params.py +18 -0
  86. gcore/types/streaming/playlist.py +102 -0
  87. gcore/types/streaming/playlist_create.py +12 -0
  88. gcore/types/streaming/playlist_create_params.py +102 -0
  89. gcore/types/streaming/playlist_list_params.py +12 -0
  90. gcore/types/streaming/playlist_list_videos_response.py +10 -0
  91. gcore/types/streaming/playlist_update_params.py +102 -0
  92. gcore/types/streaming/playlist_video.py +215 -0
  93. gcore/types/streaming/popular_videos.py +17 -0
  94. gcore/types/streaming/quality_set_set_default_params.py +23 -0
  95. gcore/types/streaming/quality_sets.py +57 -0
  96. gcore/types/streaming/restream.py +37 -0
  97. gcore/types/streaming/restream_create_params.py +41 -0
  98. gcore/types/streaming/restream_list_params.py +12 -0
  99. gcore/types/streaming/restream_update_params.py +41 -0
  100. gcore/types/streaming/statistic_get_ffprobes_params.py +22 -0
  101. gcore/types/streaming/statistic_get_live_unique_viewers_params.py +26 -0
  102. gcore/types/streaming/statistic_get_live_unique_viewers_response.py +25 -0
  103. gcore/types/streaming/statistic_get_live_watch_time_cdn_params.py +32 -0
  104. gcore/types/streaming/statistic_get_live_watch_time_total_cdn_params.py +30 -0
  105. gcore/types/streaming/statistic_get_max_streams_series_params.py +20 -0
  106. gcore/types/streaming/statistic_get_meet_series_params.py +20 -0
  107. gcore/types/streaming/statistic_get_popular_videos_params.py +15 -0
  108. gcore/types/streaming/statistic_get_storage_series_params.py +20 -0
  109. gcore/types/streaming/statistic_get_stream_series_params.py +20 -0
  110. gcore/types/streaming/statistic_get_unique_viewers_cdn_params.py +27 -0
  111. gcore/types/streaming/statistic_get_unique_viewers_params.py +34 -0
  112. gcore/types/streaming/statistic_get_views_by_browsers_params.py +15 -0
  113. gcore/types/streaming/statistic_get_views_by_country_params.py +15 -0
  114. gcore/types/streaming/statistic_get_views_by_hostname_params.py +15 -0
  115. gcore/types/streaming/statistic_get_views_by_operating_system_params.py +15 -0
  116. gcore/types/streaming/statistic_get_views_by_referer_params.py +15 -0
  117. gcore/types/streaming/statistic_get_views_by_region_params.py +15 -0
  118. gcore/types/streaming/statistic_get_views_heatmap_params.py +21 -0
  119. gcore/types/streaming/statistic_get_views_params.py +34 -0
  120. gcore/types/streaming/statistic_get_vod_storage_volume_params.py +17 -0
  121. gcore/types/streaming/statistic_get_vod_transcoding_duration_params.py +17 -0
  122. gcore/types/streaming/statistic_get_vod_unique_viewers_cdn_params.py +26 -0
  123. gcore/types/streaming/statistic_get_vod_watch_time_cdn_params.py +32 -0
  124. gcore/types/streaming/statistic_get_vod_watch_time_total_cdn_params.py +30 -0
  125. gcore/types/streaming/statistic_get_vod_watch_time_total_cdn_response.py +22 -0
  126. gcore/types/streaming/storage_series.py +23 -0
  127. gcore/types/streaming/stream.py +420 -0
  128. gcore/types/streaming/stream_create_clip_params.py +48 -0
  129. gcore/types/streaming/stream_create_params.py +165 -0
  130. gcore/types/streaming/stream_list_clips_response.py +10 -0
  131. gcore/types/streaming/stream_list_params.py +18 -0
  132. gcore/types/streaming/stream_series.py +21 -0
  133. gcore/types/streaming/stream_start_recording_response.py +76 -0
  134. gcore/types/streaming/stream_update_params.py +169 -0
  135. gcore/types/streaming/streams/__init__.py +11 -0
  136. gcore/types/streaming/streams/overlay.py +43 -0
  137. gcore/types/streaming/streams/overlay_create_params.py +36 -0
  138. gcore/types/streaming/streams/overlay_create_response.py +10 -0
  139. gcore/types/streaming/streams/overlay_list_response.py +10 -0
  140. gcore/types/streaming/streams/overlay_update_multiple_params.py +39 -0
  141. gcore/types/streaming/streams/overlay_update_multiple_response.py +10 -0
  142. gcore/types/streaming/streams/overlay_update_params.py +33 -0
  143. gcore/types/streaming/subtitle.py +12 -0
  144. gcore/types/streaming/subtitle_base.py +18 -0
  145. gcore/types/streaming/subtitle_base_param.py +18 -0
  146. gcore/types/streaming/unique_viewers.py +35 -0
  147. gcore/types/streaming/unique_viewers_cdn.py +17 -0
  148. gcore/types/streaming/video.py +444 -0
  149. gcore/types/streaming/video_create_multiple_params.py +28 -0
  150. gcore/types/streaming/video_create_multiple_response.py +10 -0
  151. gcore/types/streaming/video_create_params.py +13 -0
  152. gcore/types/streaming/video_create_response.py +10 -0
  153. gcore/types/streaming/video_list_names_params.py +13 -0
  154. gcore/types/streaming/video_list_params.py +59 -0
  155. gcore/types/streaming/video_update_params.py +214 -0
  156. gcore/types/streaming/videos/__init__.py +7 -0
  157. gcore/types/streaming/videos/subtitle_create_params.py +17 -0
  158. gcore/types/streaming/videos/subtitle_list_response.py +10 -0
  159. gcore/types/streaming/videos/subtitle_update_params.py +20 -0
  160. gcore/types/streaming/views.py +35 -0
  161. gcore/types/streaming/views_by_browser.py +17 -0
  162. gcore/types/streaming/views_by_country.py +19 -0
  163. gcore/types/streaming/views_by_hostname.py +17 -0
  164. gcore/types/streaming/views_by_operating_system.py +17 -0
  165. gcore/types/streaming/views_by_referer.py +17 -0
  166. gcore/types/streaming/views_by_region.py +19 -0
  167. gcore/types/streaming/views_heatmap.py +19 -0
  168. gcore/types/streaming/vod_statistics_series.py +21 -0
  169. gcore/types/streaming/vod_total_stream_duration_series.py +22 -0
  170. gcore/types/waap/domains/custom_rule_create_params.py +4 -4
  171. gcore/types/waap/domains/custom_rule_update_params.py +4 -4
  172. gcore/types/waap/ip_info_get_blocked_requests_params.py +5 -1
  173. gcore/types/waap/ip_info_get_counts_params.py +2 -1
  174. gcore/types/waap/ip_info_get_top_sessions_params.py +5 -1
  175. gcore/types/waap/ip_info_get_top_urls_params.py +5 -1
  176. gcore/types/waap/ip_info_get_top_user_agents_params.py +5 -1
  177. gcore/types/waap/waap_custom_rule.py +4 -4
  178. {gcore-0.6.0.dist-info → gcore-0.7.0.dist-info}/METADATA +1 -1
  179. {gcore-0.6.0.dist-info → gcore-0.7.0.dist-info}/RECORD +181 -33
  180. {gcore-0.6.0.dist-info → gcore-0.7.0.dist-info}/WHEEL +0 -0
  181. {gcore-0.6.0.dist-info → gcore-0.7.0.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,435 @@
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 List, Union, Iterable
6
+ from datetime import datetime
7
+ from typing_extensions import Literal, Required, Annotated, TypeAlias, TypedDict
8
+
9
+ from ..._utils import PropertyInfo
10
+
11
+ __all__ = [
12
+ "CostReportGetDetailedParams",
13
+ "SchemaFilter",
14
+ "SchemaFilterSchemaFilterSnapshotSerializer",
15
+ "SchemaFilterSchemaFilterInstanceSerializer",
16
+ "SchemaFilterSchemaFilterAIClusterSerializer",
17
+ "SchemaFilterSchemaFilterAIVirtualClusterSerializer",
18
+ "SchemaFilterSchemaFilterBasicVmSerializer",
19
+ "SchemaFilterSchemaFilterBaremetalSerializer",
20
+ "SchemaFilterSchemaFilterVolumeSerializer",
21
+ "SchemaFilterSchemaFilterFileShareSerializer",
22
+ "SchemaFilterSchemaFilterImageSerializer",
23
+ "SchemaFilterSchemaFilterFloatingIPSerializer",
24
+ "SchemaFilterSchemaFilterEgressTrafficSerializer",
25
+ "SchemaFilterSchemaFilterLoadBalancerSerializer",
26
+ "SchemaFilterSchemaFilterExternalIPSerializer",
27
+ "SchemaFilterSchemaFilterBackupSerializer",
28
+ "SchemaFilterSchemaFilterLogIndexSerializer",
29
+ "SchemaFilterSchemaFilterFunctionsSerializer",
30
+ "SchemaFilterSchemaFilterFunctionsCallsSerializer",
31
+ "SchemaFilterSchemaFilterFunctionsTrafficSerializer",
32
+ "SchemaFilterSchemaFilterContainersSerializer",
33
+ "SchemaFilterSchemaFilterInferenceSerializer",
34
+ "SchemaFilterSchemaFilterDbaasPostgreSQLVolumeSerializer",
35
+ "SchemaFilterSchemaFilterDbaasPostgreSQLPublicNetworkSerializer",
36
+ "SchemaFilterSchemaFilterDbaasPostgreSqlcpuSerializer",
37
+ "SchemaFilterSchemaFilterDbaasPostgreSQLMemorySerializer",
38
+ "SchemaFilterSchemaFilterDbaasPostgreSQLPoolerSerializer",
39
+ "Sorting",
40
+ "Tags",
41
+ "TagsCondition",
42
+ ]
43
+
44
+
45
+ class CostReportGetDetailedParams(TypedDict, total=False):
46
+ time_from: Required[Annotated[Union[str, datetime], PropertyInfo(format="iso8601")]]
47
+ """The start date of the report period (ISO 8601).
48
+
49
+ The report starts from the beginning of this day.
50
+ """
51
+
52
+ time_to: Required[Annotated[Union[str, datetime], PropertyInfo(format="iso8601")]]
53
+ """The end date of the report period (ISO 8601).
54
+
55
+ The report ends just before the beginning of this day.
56
+ """
57
+
58
+ enable_last_day: bool
59
+ """Expenses for the last specified day are taken into account.
60
+
61
+ As the default, False.
62
+ """
63
+
64
+ limit: int
65
+ """The response resources limit. Defaults to 10."""
66
+
67
+ offset: int
68
+ """The response resources offset."""
69
+
70
+ projects: Iterable[int]
71
+ """List of project IDs"""
72
+
73
+ regions: Iterable[int]
74
+ """List of region IDs."""
75
+
76
+ response_format: Literal["csv_records", "json"]
77
+ """Format of the response (csv or json)."""
78
+
79
+ schema_filter: SchemaFilter
80
+ """Extended filter for field filtering."""
81
+
82
+ sorting: Iterable[Sorting]
83
+ """List of sorting filters (JSON objects) fields: project. directions: asc, desc."""
84
+
85
+ tags: Tags
86
+ """Filter by tags"""
87
+
88
+ types: List[
89
+ Literal[
90
+ "ai_cluster",
91
+ "ai_virtual_cluster",
92
+ "backup",
93
+ "baremetal",
94
+ "basic_vm",
95
+ "containers",
96
+ "dbaas_postgresql_connection_pooler",
97
+ "dbaas_postgresql_cpu",
98
+ "dbaas_postgresql_memory",
99
+ "dbaas_postgresql_public_network",
100
+ "dbaas_postgresql_volume",
101
+ "egress_traffic",
102
+ "external_ip",
103
+ "file_share",
104
+ "floatingip",
105
+ "functions",
106
+ "functions_calls",
107
+ "functions_traffic",
108
+ "image",
109
+ "inference",
110
+ "instance",
111
+ "load_balancer",
112
+ "log_index",
113
+ "snapshot",
114
+ "volume",
115
+ ]
116
+ ]
117
+ """List of resource types to be filtered in the report."""
118
+
119
+
120
+ class SchemaFilterSchemaFilterSnapshotSerializer(TypedDict, total=False):
121
+ field: Required[Literal["last_name", "last_size", "source_volume_uuid", "type", "uuid", "volume_type"]]
122
+ """Field name to filter by"""
123
+
124
+ type: Required[Literal["snapshot"]]
125
+
126
+ values: Required[List[str]]
127
+ """List of field values to filter"""
128
+
129
+
130
+ class SchemaFilterSchemaFilterInstanceSerializer(TypedDict, total=False):
131
+ field: Required[Literal["flavor", "last_name", "type", "uuid"]]
132
+ """Field name to filter by"""
133
+
134
+ type: Required[Literal["instance"]]
135
+
136
+ values: Required[List[str]]
137
+ """List of field values to filter"""
138
+
139
+
140
+ class SchemaFilterSchemaFilterAIClusterSerializer(TypedDict, total=False):
141
+ field: Required[Literal["flavor", "last_name", "type", "uuid"]]
142
+ """Field name to filter by"""
143
+
144
+ type: Required[Literal["ai_cluster"]]
145
+
146
+ values: Required[List[str]]
147
+ """List of field values to filter"""
148
+
149
+
150
+ class SchemaFilterSchemaFilterAIVirtualClusterSerializer(TypedDict, total=False):
151
+ field: Required[Literal["flavor", "last_name", "type", "uuid"]]
152
+ """Field name to filter by"""
153
+
154
+ type: Required[Literal["ai_virtual_cluster"]]
155
+
156
+ values: Required[List[str]]
157
+ """List of field values to filter"""
158
+
159
+
160
+ class SchemaFilterSchemaFilterBasicVmSerializer(TypedDict, total=False):
161
+ field: Required[Literal["flavor", "last_name", "type", "uuid"]]
162
+ """Field name to filter by"""
163
+
164
+ type: Required[Literal["basic_vm"]]
165
+
166
+ values: Required[List[str]]
167
+ """List of field values to filter"""
168
+
169
+
170
+ class SchemaFilterSchemaFilterBaremetalSerializer(TypedDict, total=False):
171
+ field: Required[Literal["flavor", "last_name", "type", "uuid"]]
172
+ """Field name to filter by"""
173
+
174
+ type: Required[Literal["baremetal"]]
175
+
176
+ values: Required[List[str]]
177
+ """List of field values to filter"""
178
+
179
+
180
+ class SchemaFilterSchemaFilterVolumeSerializer(TypedDict, total=False):
181
+ field: Required[Literal["attached_to_vm", "last_name", "last_size", "type", "uuid", "volume_type"]]
182
+ """Field name to filter by"""
183
+
184
+ type: Required[Literal["volume"]]
185
+
186
+ values: Required[List[str]]
187
+ """List of field values to filter"""
188
+
189
+
190
+ class SchemaFilterSchemaFilterFileShareSerializer(TypedDict, total=False):
191
+ field: Required[Literal["file_share_type", "last_name", "last_size", "type", "uuid"]]
192
+ """Field name to filter by"""
193
+
194
+ type: Required[Literal["file_share"]]
195
+
196
+ values: Required[List[str]]
197
+ """List of field values to filter"""
198
+
199
+
200
+ class SchemaFilterSchemaFilterImageSerializer(TypedDict, total=False):
201
+ field: Required[Literal["last_name", "last_size", "type", "uuid"]]
202
+ """Field name to filter by"""
203
+
204
+ type: Required[Literal["image"]]
205
+
206
+ values: Required[List[str]]
207
+ """List of field values to filter"""
208
+
209
+
210
+ class SchemaFilterSchemaFilterFloatingIPSerializer(TypedDict, total=False):
211
+ field: Required[Literal["ip_address", "last_name", "type", "uuid"]]
212
+ """Field name to filter by"""
213
+
214
+ type: Required[Literal["floatingip"]]
215
+
216
+ values: Required[List[str]]
217
+ """List of field values to filter"""
218
+
219
+
220
+ class SchemaFilterSchemaFilterEgressTrafficSerializer(TypedDict, total=False):
221
+ field: Required[Literal["instance_name", "instance_type", "port_id", "type", "vm_id"]]
222
+ """Field name to filter by"""
223
+
224
+ type: Required[Literal["egress_traffic"]]
225
+
226
+ values: Required[List[str]]
227
+ """List of field values to filter"""
228
+
229
+
230
+ class SchemaFilterSchemaFilterLoadBalancerSerializer(TypedDict, total=False):
231
+ field: Required[Literal["flavor", "last_name", "type", "uuid"]]
232
+ """Field name to filter by"""
233
+
234
+ type: Required[Literal["load_balancer"]]
235
+
236
+ values: Required[List[str]]
237
+ """List of field values to filter"""
238
+
239
+
240
+ class SchemaFilterSchemaFilterExternalIPSerializer(TypedDict, total=False):
241
+ field: Required[Literal["attached_to_vm", "ip_address", "network_id", "port_id", "subnet_id", "type"]]
242
+ """Field name to filter by"""
243
+
244
+ type: Required[Literal["external_ip"]]
245
+
246
+ values: Required[List[str]]
247
+ """List of field values to filter"""
248
+
249
+
250
+ class SchemaFilterSchemaFilterBackupSerializer(TypedDict, total=False):
251
+ field: Required[Literal["last_name", "last_size", "schedule_id", "source_volume_uuid", "type", "uuid"]]
252
+ """Field name to filter by"""
253
+
254
+ type: Required[Literal["backup"]]
255
+
256
+ values: Required[List[str]]
257
+ """List of field values to filter"""
258
+
259
+
260
+ class SchemaFilterSchemaFilterLogIndexSerializer(TypedDict, total=False):
261
+ field: Required[Literal["last_name", "last_size", "type", "uuid"]]
262
+ """Field name to filter by"""
263
+
264
+ type: Required[Literal["log_index"]]
265
+
266
+ values: Required[List[str]]
267
+ """List of field values to filter"""
268
+
269
+
270
+ class SchemaFilterSchemaFilterFunctionsSerializer(TypedDict, total=False):
271
+ field: Required[Literal["last_name", "type", "uuid"]]
272
+ """Field name to filter by"""
273
+
274
+ type: Required[Literal["functions"]]
275
+
276
+ values: Required[List[str]]
277
+ """List of field values to filter"""
278
+
279
+
280
+ class SchemaFilterSchemaFilterFunctionsCallsSerializer(TypedDict, total=False):
281
+ field: Required[Literal["last_name", "type", "uuid"]]
282
+ """Field name to filter by"""
283
+
284
+ type: Required[Literal["functions_calls"]]
285
+
286
+ values: Required[List[str]]
287
+ """List of field values to filter"""
288
+
289
+
290
+ class SchemaFilterSchemaFilterFunctionsTrafficSerializer(TypedDict, total=False):
291
+ field: Required[Literal["last_name", "type", "uuid"]]
292
+ """Field name to filter by"""
293
+
294
+ type: Required[Literal["functions_traffic"]]
295
+
296
+ values: Required[List[str]]
297
+ """List of field values to filter"""
298
+
299
+
300
+ class SchemaFilterSchemaFilterContainersSerializer(TypedDict, total=False):
301
+ field: Required[Literal["last_name", "type", "uuid"]]
302
+ """Field name to filter by"""
303
+
304
+ type: Required[Literal["containers"]]
305
+
306
+ values: Required[List[str]]
307
+ """List of field values to filter"""
308
+
309
+
310
+ class SchemaFilterSchemaFilterInferenceSerializer(TypedDict, total=False):
311
+ field: Required[Literal["flavor", "last_name", "type", "uuid"]]
312
+ """Field name to filter by"""
313
+
314
+ type: Required[Literal["inference"]]
315
+
316
+ values: Required[List[str]]
317
+ """List of field values to filter"""
318
+
319
+
320
+ class SchemaFilterSchemaFilterDbaasPostgreSQLVolumeSerializer(TypedDict, total=False):
321
+ field: Required[Literal["last_name", "type", "uuid", "volume_type"]]
322
+ """Field name to filter by"""
323
+
324
+ type: Required[Literal["dbaas_postgresql_volume"]]
325
+
326
+ values: Required[List[str]]
327
+ """List of field values to filter"""
328
+
329
+
330
+ class SchemaFilterSchemaFilterDbaasPostgreSQLPublicNetworkSerializer(TypedDict, total=False):
331
+ field: Required[Literal["last_name", "type", "uuid"]]
332
+ """Field name to filter by"""
333
+
334
+ type: Required[Literal["dbaas_postgresql_public_network"]]
335
+
336
+ values: Required[List[str]]
337
+ """List of field values to filter"""
338
+
339
+
340
+ class SchemaFilterSchemaFilterDbaasPostgreSqlcpuSerializer(TypedDict, total=False):
341
+ field: Required[Literal["last_name", "type", "uuid"]]
342
+ """Field name to filter by"""
343
+
344
+ type: Required[Literal["dbaas_postgresql_cpu"]]
345
+
346
+ values: Required[List[str]]
347
+ """List of field values to filter"""
348
+
349
+
350
+ class SchemaFilterSchemaFilterDbaasPostgreSQLMemorySerializer(TypedDict, total=False):
351
+ field: Required[Literal["last_name", "type", "uuid"]]
352
+ """Field name to filter by"""
353
+
354
+ type: Required[Literal["dbaas_postgresql_memory"]]
355
+
356
+ values: Required[List[str]]
357
+ """List of field values to filter"""
358
+
359
+
360
+ class SchemaFilterSchemaFilterDbaasPostgreSQLPoolerSerializer(TypedDict, total=False):
361
+ field: Required[Literal["last_name", "type", "uuid"]]
362
+ """Field name to filter by"""
363
+
364
+ type: Required[Literal["dbaas_postgresql_connection_pooler"]]
365
+
366
+ values: Required[List[str]]
367
+ """List of field values to filter"""
368
+
369
+
370
+ SchemaFilter: TypeAlias = Union[
371
+ SchemaFilterSchemaFilterSnapshotSerializer,
372
+ SchemaFilterSchemaFilterInstanceSerializer,
373
+ SchemaFilterSchemaFilterAIClusterSerializer,
374
+ SchemaFilterSchemaFilterAIVirtualClusterSerializer,
375
+ SchemaFilterSchemaFilterBasicVmSerializer,
376
+ SchemaFilterSchemaFilterBaremetalSerializer,
377
+ SchemaFilterSchemaFilterVolumeSerializer,
378
+ SchemaFilterSchemaFilterFileShareSerializer,
379
+ SchemaFilterSchemaFilterImageSerializer,
380
+ SchemaFilterSchemaFilterFloatingIPSerializer,
381
+ SchemaFilterSchemaFilterEgressTrafficSerializer,
382
+ SchemaFilterSchemaFilterLoadBalancerSerializer,
383
+ SchemaFilterSchemaFilterExternalIPSerializer,
384
+ SchemaFilterSchemaFilterBackupSerializer,
385
+ SchemaFilterSchemaFilterLogIndexSerializer,
386
+ SchemaFilterSchemaFilterFunctionsSerializer,
387
+ SchemaFilterSchemaFilterFunctionsCallsSerializer,
388
+ SchemaFilterSchemaFilterFunctionsTrafficSerializer,
389
+ SchemaFilterSchemaFilterContainersSerializer,
390
+ SchemaFilterSchemaFilterInferenceSerializer,
391
+ SchemaFilterSchemaFilterDbaasPostgreSQLVolumeSerializer,
392
+ SchemaFilterSchemaFilterDbaasPostgreSQLPublicNetworkSerializer,
393
+ SchemaFilterSchemaFilterDbaasPostgreSqlcpuSerializer,
394
+ SchemaFilterSchemaFilterDbaasPostgreSQLMemorySerializer,
395
+ SchemaFilterSchemaFilterDbaasPostgreSQLPoolerSerializer,
396
+ ]
397
+
398
+
399
+ class Sorting(TypedDict, total=False):
400
+ billing_value: Literal["asc", "desc"]
401
+
402
+ first_seen: Literal["asc", "desc"]
403
+
404
+ last_name: Literal["asc", "desc"]
405
+
406
+ last_seen: Literal["asc", "desc"]
407
+
408
+ project: Literal["asc", "desc"]
409
+
410
+ region: Literal["asc", "desc"]
411
+
412
+ type: Literal["asc", "desc"]
413
+
414
+
415
+ class TagsCondition(TypedDict, total=False):
416
+ key: str
417
+ """The name of the tag to filter (e.g., '`os_version`')."""
418
+
419
+ strict: bool
420
+ """Determines how strictly the tag value must match the specified value.
421
+
422
+ If true, the tag value must exactly match the given value. If false, a less
423
+ strict match (e.g., partial or case-insensitive match) may be applied.
424
+ """
425
+
426
+ value: str
427
+ """The value of the tag to filter (e.g., '22.04')."""
428
+
429
+
430
+ class Tags(TypedDict, total=False):
431
+ conditions: Required[Iterable[TagsCondition]]
432
+ """A list of tag filtering conditions defining how tags should match."""
433
+
434
+ condition_type: Literal["AND", "OR"]
435
+ """Specifies whether conditions are combined using OR (default) or AND logic."""
@@ -1,12 +1,43 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
- from typing import List, Optional
4
- from typing_extensions import Literal
3
+ from typing import List, Union, Optional
4
+ from typing_extensions import Literal, Annotated, TypeAlias
5
5
 
6
6
  from .tag import Tag
7
+ from ..._utils import PropertyInfo
7
8
  from ..._models import BaseModel
8
9
 
9
- __all__ = ["FileShare"]
10
+ __all__ = [
11
+ "FileShare",
12
+ "ShareSettings",
13
+ "ShareSettingsStandardShareSettingsOutputSerializer",
14
+ "ShareSettingsVastShareSettingsOutputSerializer",
15
+ ]
16
+
17
+
18
+ class ShareSettingsStandardShareSettingsOutputSerializer(BaseModel):
19
+ type_name: Literal["standard"]
20
+ """Standard file share type"""
21
+
22
+
23
+ class ShareSettingsVastShareSettingsOutputSerializer(BaseModel):
24
+ root_squash: bool
25
+ """Enables or disables root squash for NFS clients.
26
+
27
+ - If `true`, root squash is enabled: the root user is mapped to nobody for all
28
+ file and folder management operations on the export.
29
+ - If `false`, root squash is disabled: the NFS client `root` user retains root
30
+ privileges.
31
+ """
32
+
33
+ type_name: Literal["vast"]
34
+ """Vast file share type"""
35
+
36
+
37
+ ShareSettings: TypeAlias = Annotated[
38
+ Union[ShareSettingsStandardShareSettingsOutputSerializer, ShareSettingsVastShareSettingsOutputSerializer],
39
+ PropertyInfo(discriminator="type_name"),
40
+ ]
10
41
 
11
42
 
12
43
  class FileShare(BaseModel):
@@ -49,6 +80,9 @@ class FileShare(BaseModel):
49
80
  May be null if the file share was created with volume type VAST
50
81
  """
51
82
 
83
+ share_settings: ShareSettings
84
+ """Share settings specific to the file share type"""
85
+
52
86
  size: int
53
87
  """File share size, GiB"""
54
88
 
@@ -11,6 +11,7 @@ __all__ = [
11
11
  "CreateStandardFileShareSerializerNetwork",
12
12
  "CreateStandardFileShareSerializerAccess",
13
13
  "CreateVastFileShareSerializer",
14
+ "CreateVastFileShareSerializerShareSettings",
14
15
  ]
15
16
 
16
17
 
@@ -88,6 +89,9 @@ class CreateVastFileShareSerializer(TypedDict, total=False):
88
89
  volume_type: Required[Literal["vast_share_type"]]
89
90
  """File share volume type"""
90
91
 
92
+ share_settings: CreateVastFileShareSerializerShareSettings
93
+ """Configuration settings for the share"""
94
+
91
95
  tags: Dict[str, str]
92
96
  """Key-value tags to associate with the resource.
93
97
 
@@ -99,4 +103,16 @@ class CreateVastFileShareSerializer(TypedDict, total=False):
99
103
  """
100
104
 
101
105
 
106
+ class CreateVastFileShareSerializerShareSettings(TypedDict, total=False):
107
+ root_squash: bool
108
+ """Enables or disables root squash for NFS clients.
109
+
110
+ - If `true` (default), root squash is enabled: the root user is mapped to nobody
111
+ for all file and folder management operations on the export.
112
+ - If `false`, root squash is disabled: the NFS client `root` user retains root
113
+ privileges. Use this option if you trust the root user not to perform
114
+ operations that will corrupt data.
115
+ """
116
+
117
+
102
118
  FileShareCreateParams: TypeAlias = Union[CreateStandardFileShareSerializer, CreateVastFileShareSerializer]
@@ -37,7 +37,7 @@ class GPUBaremetalCluster(BaseModel):
37
37
  created_at: Optional[str] = None
38
38
  """Datetime when the cluster was created"""
39
39
 
40
- creator_task_id: str
40
+ creator_task_id: Optional[str] = None
41
41
  """Task that created this entity"""
42
42
 
43
43
  flavor: str
@@ -46,7 +46,7 @@ class GPUBaremetalCluster(BaseModel):
46
46
  image_id: str
47
47
  """Image ID"""
48
48
 
49
- image_name: str
49
+ image_name: Optional[str] = None
50
50
  """Image name"""
51
51
 
52
52
  interfaces: Optional[List[Interface]] = None
@@ -15,6 +15,7 @@ __all__ = [
15
15
  "InterfaceCreateGPUClusterSubnetInterfaceSerializerFloatingIP",
16
16
  "InterfaceCreateGPUClusterAnySubnetInterfaceSerializer",
17
17
  "InterfaceCreateGPUClusterAnySubnetInterfaceSerializerFloatingIP",
18
+ "SecurityGroup",
18
19
  ]
19
20
 
20
21
 
@@ -48,6 +49,9 @@ class GPUBaremetalClusterCreateParams(TypedDict, total=False):
48
49
  instance, a default user or a new user on a Linux instance
49
50
  """
50
51
 
52
+ security_groups: Iterable[SecurityGroup]
53
+ """Security group UUIDs"""
54
+
51
55
  ssh_key_name: str
52
56
  """
53
57
  Specifies the name of the SSH keypair, created via the
@@ -152,3 +156,8 @@ Interface: TypeAlias = Union[
152
156
  InterfaceCreateGPUClusterSubnetInterfaceSerializer,
153
157
  InterfaceCreateGPUClusterAnySubnetInterfaceSerializer,
154
158
  ]
159
+
160
+
161
+ class SecurityGroup(TypedDict, total=False):
162
+ id: Required[str]
163
+ """Resource ID"""
@@ -65,10 +65,20 @@ class RegionalQuota(BaseModel):
65
65
  """Baremetal A100 GPU card count usage"""
66
66
 
67
67
  baremetal_gpu_count_limit: Optional[int] = None
68
- """AI GPU bare metal servers count limit"""
68
+ """Total number of AI GPU bare metal servers.
69
+
70
+ This field is deprecated and is now always calculated automatically as the sum
71
+ of `baremetal_gpu_a100_count_limit`, `baremetal_gpu_h100_count_limit`,
72
+ `baremetal_gpu_h200_count_limit`, and `baremetal_gpu_l40s_count_limit`.
73
+ """
69
74
 
70
75
  baremetal_gpu_count_usage: Optional[int] = None
71
- """AI GPU bare metal servers count usage"""
76
+ """Baremetal Gpu Count Usage.
77
+
78
+ This field is deprecated and is now always calculated automatically as the sum
79
+ of `baremetal_gpu_a100_count_usage`, `baremetal_gpu_h100_count_usage`,
80
+ `baremetal_gpu_h200_count_usage`, and `baremetal_gpu_l40s_count_usage`.
81
+ """
72
82
 
73
83
  baremetal_gpu_h100_count_limit: Optional[int] = None
74
84
  """Baremetal H100 GPU card count limit"""
@@ -76,6 +86,12 @@ class RegionalQuota(BaseModel):
76
86
  baremetal_gpu_h100_count_usage: Optional[int] = None
77
87
  """Baremetal H100 GPU card count usage"""
78
88
 
89
+ baremetal_gpu_h200_count_limit: Optional[int] = None
90
+ """Baremetal H200 GPU card count limit"""
91
+
92
+ baremetal_gpu_h200_count_usage: Optional[int] = None
93
+ """Baremetal H200 GPU card count usage"""
94
+
79
95
  baremetal_gpu_l40s_count_limit: Optional[int] = None
80
96
  """Baremetal L40S GPU card count limit"""
81
97
 
@@ -208,6 +224,12 @@ class RegionalQuota(BaseModel):
208
224
  gpu_virtual_h100_count_usage: Optional[int] = None
209
225
  """Virtual H100 GPU card count usage"""
210
226
 
227
+ gpu_virtual_h200_count_limit: Optional[int] = None
228
+ """Virtual H200 GPU card count limit"""
229
+
230
+ gpu_virtual_h200_count_usage: Optional[int] = None
231
+ """Virtual H200 GPU card count usage"""
232
+
211
233
  gpu_virtual_l40s_count_limit: Optional[int] = None
212
234
  """Virtual L40S GPU card count limit"""
213
235
 
@@ -21,10 +21,20 @@ class QuotaGetByRegionResponse(BaseModel):
21
21
  """Baremetal A100 GPU card count usage"""
22
22
 
23
23
  baremetal_gpu_count_limit: Optional[int] = None
24
- """AI GPU bare metal servers count limit"""
24
+ """Total number of AI GPU bare metal servers.
25
+
26
+ This field is deprecated and is now always calculated automatically as the sum
27
+ of `baremetal_gpu_a100_count_limit`, `baremetal_gpu_h100_count_limit`,
28
+ `baremetal_gpu_h200_count_limit`, and `baremetal_gpu_l40s_count_limit`.
29
+ """
25
30
 
26
31
  baremetal_gpu_count_usage: Optional[int] = None
27
- """AI GPU bare metal servers count usage"""
32
+ """Baremetal Gpu Count Usage.
33
+
34
+ This field is deprecated and is now always calculated automatically as the sum
35
+ of `baremetal_gpu_a100_count_usage`, `baremetal_gpu_h100_count_usage`,
36
+ `baremetal_gpu_h200_count_usage`, and `baremetal_gpu_l40s_count_usage`.
37
+ """
28
38
 
29
39
  baremetal_gpu_h100_count_limit: Optional[int] = None
30
40
  """Baremetal H100 GPU card count limit"""
@@ -32,6 +42,12 @@ class QuotaGetByRegionResponse(BaseModel):
32
42
  baremetal_gpu_h100_count_usage: Optional[int] = None
33
43
  """Baremetal H100 GPU card count usage"""
34
44
 
45
+ baremetal_gpu_h200_count_limit: Optional[int] = None
46
+ """Baremetal H200 GPU card count limit"""
47
+
48
+ baremetal_gpu_h200_count_usage: Optional[int] = None
49
+ """Baremetal H200 GPU card count usage"""
50
+
35
51
  baremetal_gpu_l40s_count_limit: Optional[int] = None
36
52
  """Baremetal L40S GPU card count limit"""
37
53
 
@@ -164,6 +180,12 @@ class QuotaGetByRegionResponse(BaseModel):
164
180
  gpu_virtual_h100_count_usage: Optional[int] = None
165
181
  """Virtual H100 GPU card count usage"""
166
182
 
183
+ gpu_virtual_h200_count_limit: Optional[int] = None
184
+ """Virtual H200 GPU card count limit"""
185
+
186
+ gpu_virtual_h200_count_usage: Optional[int] = None
187
+ """Virtual H200 GPU card count usage"""
188
+
167
189
  gpu_virtual_l40s_count_limit: Optional[int] = None
168
190
  """Virtual L40S GPU card count limit"""
169
191