gcore 0.5.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 (200) 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 +42 -0
  7. gcore/resources/cloud/audit_logs.py +480 -0
  8. gcore/resources/cloud/cloud.py +96 -0
  9. gcore/resources/cloud/cost_reports.py +811 -0
  10. gcore/resources/cloud/file_shares/file_shares.py +74 -9
  11. gcore/resources/cloud/gpu_baremetal_clusters/gpu_baremetal_clusters.py +61 -26
  12. gcore/resources/cloud/inference/__init__.py +14 -0
  13. gcore/resources/cloud/inference/api_keys.py +621 -0
  14. gcore/resources/cloud/inference/inference.py +32 -0
  15. gcore/resources/cloud/inference/registry_credentials.py +4 -6
  16. gcore/resources/cloud/load_balancers/pools/members.py +22 -6
  17. gcore/resources/cloud/usage_reports.py +337 -0
  18. gcore/resources/streaming/__init__.py +159 -0
  19. gcore/resources/streaming/ai_tasks.py +1288 -0
  20. gcore/resources/streaming/broadcasts.py +579 -0
  21. gcore/resources/streaming/directories.py +515 -0
  22. gcore/resources/streaming/players.py +577 -0
  23. gcore/resources/streaming/playlists.py +1059 -0
  24. gcore/resources/streaming/quality_sets.py +331 -0
  25. gcore/resources/streaming/restreams.py +484 -0
  26. gcore/resources/streaming/statistics.py +3224 -0
  27. gcore/resources/streaming/streaming.py +390 -0
  28. gcore/resources/streaming/streams/__init__.py +33 -0
  29. gcore/resources/streaming/streams/overlays.py +716 -0
  30. gcore/resources/streaming/streams/streams.py +1592 -0
  31. gcore/resources/streaming/videos/__init__.py +33 -0
  32. gcore/resources/streaming/videos/subtitles.py +623 -0
  33. gcore/resources/streaming/videos/videos.py +1553 -0
  34. gcore/resources/waap/ip_info.py +28 -10
  35. gcore/types/cloud/__init__.py +12 -0
  36. gcore/types/cloud/audit_log_entry.py +254 -0
  37. gcore/types/cloud/audit_log_list_params.py +158 -0
  38. gcore/types/cloud/cost_report_aggregated.py +865 -0
  39. gcore/types/cloud/cost_report_aggregated_monthly.py +865 -0
  40. gcore/types/cloud/cost_report_detailed.py +1343 -0
  41. gcore/types/cloud/cost_report_get_aggregated_monthly_params.py +394 -0
  42. gcore/types/cloud/cost_report_get_aggregated_params.py +409 -0
  43. gcore/types/cloud/cost_report_get_detailed_params.py +435 -0
  44. gcore/types/cloud/file_share.py +37 -3
  45. gcore/types/cloud/file_share_create_params.py +16 -0
  46. gcore/types/cloud/file_share_update_params.py +29 -3
  47. gcore/types/cloud/gpu_baremetal_cluster.py +2 -2
  48. gcore/types/cloud/gpu_baremetal_cluster_create_params.py +9 -0
  49. gcore/types/cloud/inference/__init__.py +5 -0
  50. gcore/types/cloud/inference/api_key_create_params.py +21 -0
  51. gcore/types/cloud/inference/api_key_list_params.py +21 -0
  52. gcore/types/cloud/inference/api_key_update_params.py +16 -0
  53. gcore/types/cloud/inference/inference_api_key.py +24 -0
  54. gcore/types/cloud/inference/inference_api_key_create.py +27 -0
  55. gcore/types/cloud/load_balancer_create_params.py +14 -3
  56. gcore/types/cloud/load_balancers/pool_create_params.py +14 -3
  57. gcore/types/cloud/load_balancers/pool_update_params.py +14 -3
  58. gcore/types/cloud/load_balancers/pools/member_add_params.py +14 -3
  59. gcore/types/cloud/member.py +12 -4
  60. gcore/types/cloud/quota_get_all_response.py +24 -2
  61. gcore/types/cloud/quota_get_by_region_response.py +24 -2
  62. gcore/types/cloud/quotas/request_create_params.py +12 -1
  63. gcore/types/cloud/quotas/request_get_response.py +12 -1
  64. gcore/types/cloud/quotas/request_list_response.py +12 -1
  65. gcore/types/cloud/usage_report.py +1612 -0
  66. gcore/types/cloud/usage_report_get_params.py +432 -0
  67. gcore/types/streaming/__init__.py +143 -0
  68. gcore/types/streaming/ai_contentmoderation_casm.py +39 -0
  69. gcore/types/streaming/ai_contentmoderation_hardnudity.py +54 -0
  70. gcore/types/streaming/ai_contentmoderation_nsfw.py +39 -0
  71. gcore/types/streaming/ai_contentmoderation_softnudity.py +66 -0
  72. gcore/types/streaming/ai_contentmoderation_sport.py +39 -0
  73. gcore/types/streaming/ai_contentmoderation_weapon.py +39 -0
  74. gcore/types/streaming/ai_task.py +205 -0
  75. gcore/types/streaming/ai_task_cancel_response.py +12 -0
  76. gcore/types/streaming/ai_task_create_params.py +168 -0
  77. gcore/types/streaming/ai_task_create_response.py +10 -0
  78. gcore/types/streaming/ai_task_get_ai_settings_params.py +27 -0
  79. gcore/types/streaming/ai_task_get_ai_settings_response.py +12 -0
  80. gcore/types/streaming/ai_task_get_response.py +313 -0
  81. gcore/types/streaming/ai_task_list_params.py +50 -0
  82. gcore/types/streaming/broadcast.py +71 -0
  83. gcore/types/streaming/broadcast_create_params.py +76 -0
  84. gcore/types/streaming/broadcast_list_params.py +12 -0
  85. gcore/types/streaming/broadcast_spectators_count.py +12 -0
  86. gcore/types/streaming/broadcast_update_params.py +76 -0
  87. gcore/types/streaming/clip.py +78 -0
  88. gcore/types/streaming/create_video_param.py +214 -0
  89. gcore/types/streaming/direct_upload_parameters.py +33 -0
  90. gcore/types/streaming/directories_tree.py +19 -0
  91. gcore/types/streaming/directory_base.py +31 -0
  92. gcore/types/streaming/directory_create_params.py +15 -0
  93. gcore/types/streaming/directory_get_response.py +19 -0
  94. gcore/types/streaming/directory_item.py +13 -0
  95. gcore/types/streaming/directory_update_params.py +18 -0
  96. gcore/types/streaming/directory_video.py +13 -0
  97. gcore/types/streaming/ffprobes.py +25 -0
  98. gcore/types/streaming/max_stream_series.py +21 -0
  99. gcore/types/streaming/meet_series.py +23 -0
  100. gcore/types/streaming/player.py +114 -0
  101. gcore/types/streaming/player_create_params.py +18 -0
  102. gcore/types/streaming/player_list_params.py +12 -0
  103. gcore/types/streaming/player_param.py +114 -0
  104. gcore/types/streaming/player_update_params.py +18 -0
  105. gcore/types/streaming/playlist.py +102 -0
  106. gcore/types/streaming/playlist_create.py +12 -0
  107. gcore/types/streaming/playlist_create_params.py +102 -0
  108. gcore/types/streaming/playlist_list_params.py +12 -0
  109. gcore/types/streaming/playlist_list_videos_response.py +10 -0
  110. gcore/types/streaming/playlist_update_params.py +102 -0
  111. gcore/types/streaming/playlist_video.py +215 -0
  112. gcore/types/streaming/popular_videos.py +17 -0
  113. gcore/types/streaming/quality_set_set_default_params.py +23 -0
  114. gcore/types/streaming/quality_sets.py +57 -0
  115. gcore/types/streaming/restream.py +37 -0
  116. gcore/types/streaming/restream_create_params.py +41 -0
  117. gcore/types/streaming/restream_list_params.py +12 -0
  118. gcore/types/streaming/restream_update_params.py +41 -0
  119. gcore/types/streaming/statistic_get_ffprobes_params.py +22 -0
  120. gcore/types/streaming/statistic_get_live_unique_viewers_params.py +26 -0
  121. gcore/types/streaming/statistic_get_live_unique_viewers_response.py +25 -0
  122. gcore/types/streaming/statistic_get_live_watch_time_cdn_params.py +32 -0
  123. gcore/types/streaming/statistic_get_live_watch_time_total_cdn_params.py +30 -0
  124. gcore/types/streaming/statistic_get_max_streams_series_params.py +20 -0
  125. gcore/types/streaming/statistic_get_meet_series_params.py +20 -0
  126. gcore/types/streaming/statistic_get_popular_videos_params.py +15 -0
  127. gcore/types/streaming/statistic_get_storage_series_params.py +20 -0
  128. gcore/types/streaming/statistic_get_stream_series_params.py +20 -0
  129. gcore/types/streaming/statistic_get_unique_viewers_cdn_params.py +27 -0
  130. gcore/types/streaming/statistic_get_unique_viewers_params.py +34 -0
  131. gcore/types/streaming/statistic_get_views_by_browsers_params.py +15 -0
  132. gcore/types/streaming/statistic_get_views_by_country_params.py +15 -0
  133. gcore/types/streaming/statistic_get_views_by_hostname_params.py +15 -0
  134. gcore/types/streaming/statistic_get_views_by_operating_system_params.py +15 -0
  135. gcore/types/streaming/statistic_get_views_by_referer_params.py +15 -0
  136. gcore/types/streaming/statistic_get_views_by_region_params.py +15 -0
  137. gcore/types/streaming/statistic_get_views_heatmap_params.py +21 -0
  138. gcore/types/streaming/statistic_get_views_params.py +34 -0
  139. gcore/types/streaming/statistic_get_vod_storage_volume_params.py +17 -0
  140. gcore/types/streaming/statistic_get_vod_transcoding_duration_params.py +17 -0
  141. gcore/types/streaming/statistic_get_vod_unique_viewers_cdn_params.py +26 -0
  142. gcore/types/streaming/statistic_get_vod_watch_time_cdn_params.py +32 -0
  143. gcore/types/streaming/statistic_get_vod_watch_time_total_cdn_params.py +30 -0
  144. gcore/types/streaming/statistic_get_vod_watch_time_total_cdn_response.py +22 -0
  145. gcore/types/streaming/storage_series.py +23 -0
  146. gcore/types/streaming/stream.py +420 -0
  147. gcore/types/streaming/stream_create_clip_params.py +48 -0
  148. gcore/types/streaming/stream_create_params.py +165 -0
  149. gcore/types/streaming/stream_list_clips_response.py +10 -0
  150. gcore/types/streaming/stream_list_params.py +18 -0
  151. gcore/types/streaming/stream_series.py +21 -0
  152. gcore/types/streaming/stream_start_recording_response.py +76 -0
  153. gcore/types/streaming/stream_update_params.py +169 -0
  154. gcore/types/streaming/streams/__init__.py +11 -0
  155. gcore/types/streaming/streams/overlay.py +43 -0
  156. gcore/types/streaming/streams/overlay_create_params.py +36 -0
  157. gcore/types/streaming/streams/overlay_create_response.py +10 -0
  158. gcore/types/streaming/streams/overlay_list_response.py +10 -0
  159. gcore/types/streaming/streams/overlay_update_multiple_params.py +39 -0
  160. gcore/types/streaming/streams/overlay_update_multiple_response.py +10 -0
  161. gcore/types/streaming/streams/overlay_update_params.py +33 -0
  162. gcore/types/streaming/subtitle.py +12 -0
  163. gcore/types/streaming/subtitle_base.py +18 -0
  164. gcore/types/streaming/subtitle_base_param.py +18 -0
  165. gcore/types/streaming/unique_viewers.py +35 -0
  166. gcore/types/streaming/unique_viewers_cdn.py +17 -0
  167. gcore/types/streaming/video.py +444 -0
  168. gcore/types/streaming/video_create_multiple_params.py +28 -0
  169. gcore/types/streaming/video_create_multiple_response.py +10 -0
  170. gcore/types/streaming/video_create_params.py +13 -0
  171. gcore/types/streaming/video_create_response.py +10 -0
  172. gcore/types/streaming/video_list_names_params.py +13 -0
  173. gcore/types/streaming/video_list_params.py +59 -0
  174. gcore/types/streaming/video_update_params.py +214 -0
  175. gcore/types/streaming/videos/__init__.py +7 -0
  176. gcore/types/streaming/videos/subtitle_create_params.py +17 -0
  177. gcore/types/streaming/videos/subtitle_list_response.py +10 -0
  178. gcore/types/streaming/videos/subtitle_update_params.py +20 -0
  179. gcore/types/streaming/views.py +35 -0
  180. gcore/types/streaming/views_by_browser.py +17 -0
  181. gcore/types/streaming/views_by_country.py +19 -0
  182. gcore/types/streaming/views_by_hostname.py +17 -0
  183. gcore/types/streaming/views_by_operating_system.py +17 -0
  184. gcore/types/streaming/views_by_referer.py +17 -0
  185. gcore/types/streaming/views_by_region.py +19 -0
  186. gcore/types/streaming/views_heatmap.py +19 -0
  187. gcore/types/streaming/vod_statistics_series.py +21 -0
  188. gcore/types/streaming/vod_total_stream_duration_series.py +22 -0
  189. gcore/types/waap/domains/custom_rule_create_params.py +4 -4
  190. gcore/types/waap/domains/custom_rule_update_params.py +4 -4
  191. gcore/types/waap/ip_info_get_blocked_requests_params.py +5 -1
  192. gcore/types/waap/ip_info_get_counts_params.py +2 -1
  193. gcore/types/waap/ip_info_get_top_sessions_params.py +5 -1
  194. gcore/types/waap/ip_info_get_top_urls_params.py +5 -1
  195. gcore/types/waap/ip_info_get_top_user_agents_params.py +5 -1
  196. gcore/types/waap/waap_custom_rule.py +4 -4
  197. {gcore-0.5.0.dist-info → gcore-0.7.0.dist-info}/METADATA +2 -3
  198. {gcore-0.5.0.dist-info → gcore-0.7.0.dist-info}/RECORD +200 -43
  199. {gcore-0.5.0.dist-info → gcore-0.7.0.dist-info}/WHEEL +0 -0
  200. {gcore-0.5.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]
@@ -2,7 +2,10 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing_extensions import Required, TypedDict
5
+ from typing import Optional
6
+ from typing_extensions import TypedDict
7
+
8
+ from .tag_update_map_param import TagUpdateMapParam
6
9
 
7
10
  __all__ = ["FileShareUpdateParams"]
8
11
 
@@ -14,5 +17,28 @@ class FileShareUpdateParams(TypedDict, total=False):
14
17
  region_id: int
15
18
  """Region ID"""
16
19
 
17
- name: Required[str]
18
- """Name."""
20
+ name: str
21
+ """Name"""
22
+
23
+ tags: Optional[TagUpdateMapParam]
24
+ """Update key-value tags using JSON Merge Patch semantics (RFC 7386).
25
+
26
+ Provide key-value pairs to add or update tags. Set tag values to `null` to
27
+ remove tags. Unspecified tags remain unchanged. Read-only tags are always
28
+ preserved and cannot be modified. **Examples:**
29
+
30
+ - **Add/update tags:**
31
+ `{'tags': {'environment': 'production', 'team': 'backend'}}` adds new tags or
32
+ updates existing ones.
33
+ - **Delete tags:** `{'tags': {'`old_tag`': null}}` removes specific tags.
34
+ - **Remove all tags:** `{'tags': null}` removes all user-managed tags (read-only
35
+ tags are preserved).
36
+ - **Partial update:** `{'tags': {'environment': 'staging'}}` only updates
37
+ specified tags.
38
+ - **Mixed operations:**
39
+ `{'tags': {'environment': 'production', '`cost_center`': 'engineering', '`deprecated_tag`': null}}`
40
+ adds/updates 'environment' and '`cost_center`' while removing
41
+ '`deprecated_tag`', preserving other existing tags.
42
+ - **Replace all:** first delete existing tags with null values, then add new
43
+ ones in the same request.
44
+ """
@@ -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"""
@@ -10,15 +10,20 @@ from .inference_model import InferenceModel as InferenceModel
10
10
  from .inference_flavor import InferenceFlavor as InferenceFlavor
11
11
  from .inference_secret import InferenceSecret as InferenceSecret
12
12
  from .probe_tcp_socket import ProbeTcpSocket as ProbeTcpSocket
13
+ from .inference_api_key import InferenceAPIKey as InferenceAPIKey
13
14
  from .model_list_params import ModelListParams as ModelListParams
14
15
  from .flavor_list_params import FlavorListParams as FlavorListParams
15
16
  from .secret_list_params import SecretListParams as SecretListParams
17
+ from .api_key_list_params import APIKeyListParams as APIKeyListParams
16
18
  from .inference_deployment import InferenceDeployment as InferenceDeployment
17
19
  from .secret_create_params import SecretCreateParams as SecretCreateParams
20
+ from .api_key_create_params import APIKeyCreateParams as APIKeyCreateParams
21
+ from .api_key_update_params import APIKeyUpdateParams as APIKeyUpdateParams
18
22
  from .secret_replace_params import SecretReplaceParams as SecretReplaceParams
19
23
  from .deployment_list_params import DeploymentListParams as DeploymentListParams
20
24
  from .deployment_create_params import DeploymentCreateParams as DeploymentCreateParams
21
25
  from .deployment_update_params import DeploymentUpdateParams as DeploymentUpdateParams
26
+ from .inference_api_key_create import InferenceAPIKeyCreate as InferenceAPIKeyCreate
22
27
  from .inference_deployment_api_key import InferenceDeploymentAPIKey as InferenceDeploymentAPIKey
23
28
  from .inference_registry_credentials import InferenceRegistryCredentials as InferenceRegistryCredentials
24
29
  from .registry_credential_list_params import RegistryCredentialListParams as RegistryCredentialListParams
@@ -0,0 +1,21 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing_extensions import Required, TypedDict
6
+
7
+ __all__ = ["APIKeyCreateParams"]
8
+
9
+
10
+ class APIKeyCreateParams(TypedDict, total=False):
11
+ project_id: int
12
+ """Project ID"""
13
+
14
+ name: Required[str]
15
+ """Name of the API Key."""
16
+
17
+ description: str
18
+ """Description of the API Key."""
19
+
20
+ expires_at: str
21
+ """Expiration date of the API Key in ISO 8601 format."""
@@ -0,0 +1,21 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing_extensions import TypedDict
6
+
7
+ __all__ = ["APIKeyListParams"]
8
+
9
+
10
+ class APIKeyListParams(TypedDict, total=False):
11
+ project_id: int
12
+ """Project ID"""
13
+
14
+ limit: int
15
+ """Optional. Limit the number of returned items"""
16
+
17
+ offset: int
18
+ """Optional.
19
+
20
+ Offset value is used to exclude the first set of records from the result
21
+ """