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,394 @@
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
+ "CostReportGetAggregatedMonthlyParams",
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
+ "Tags",
40
+ "TagsCondition",
41
+ ]
42
+
43
+
44
+ class CostReportGetAggregatedMonthlyParams(TypedDict, total=False):
45
+ time_from: Required[Annotated[Union[str, datetime], PropertyInfo(format="iso8601")]]
46
+ """Beginning of the period: YYYY-mm"""
47
+
48
+ time_to: Required[Annotated[Union[str, datetime], PropertyInfo(format="iso8601")]]
49
+ """End of the period: YYYY-mm"""
50
+
51
+ regions: Iterable[int]
52
+ """List of region IDs."""
53
+
54
+ response_format: Literal["csv_totals", "json"]
55
+ """Format of the response (`csv_totals` or json)."""
56
+
57
+ schema_filter: SchemaFilter
58
+ """Extended filter for field filtering."""
59
+
60
+ tags: Tags
61
+ """Filter by tags"""
62
+
63
+ types: List[
64
+ Literal[
65
+ "ai_cluster",
66
+ "ai_virtual_cluster",
67
+ "backup",
68
+ "baremetal",
69
+ "basic_vm",
70
+ "containers",
71
+ "dbaas_postgresql_connection_pooler",
72
+ "dbaas_postgresql_cpu",
73
+ "dbaas_postgresql_memory",
74
+ "dbaas_postgresql_public_network",
75
+ "dbaas_postgresql_volume",
76
+ "egress_traffic",
77
+ "external_ip",
78
+ "file_share",
79
+ "floatingip",
80
+ "functions",
81
+ "functions_calls",
82
+ "functions_traffic",
83
+ "image",
84
+ "inference",
85
+ "instance",
86
+ "load_balancer",
87
+ "log_index",
88
+ "snapshot",
89
+ "volume",
90
+ ]
91
+ ]
92
+ """List of resource types to be filtered in the report."""
93
+
94
+
95
+ class SchemaFilterSchemaFilterSnapshotSerializer(TypedDict, total=False):
96
+ field: Required[Literal["last_name", "last_size", "source_volume_uuid", "type", "uuid", "volume_type"]]
97
+ """Field name to filter by"""
98
+
99
+ type: Required[Literal["snapshot"]]
100
+
101
+ values: Required[List[str]]
102
+ """List of field values to filter"""
103
+
104
+
105
+ class SchemaFilterSchemaFilterInstanceSerializer(TypedDict, total=False):
106
+ field: Required[Literal["flavor", "last_name", "type", "uuid"]]
107
+ """Field name to filter by"""
108
+
109
+ type: Required[Literal["instance"]]
110
+
111
+ values: Required[List[str]]
112
+ """List of field values to filter"""
113
+
114
+
115
+ class SchemaFilterSchemaFilterAIClusterSerializer(TypedDict, total=False):
116
+ field: Required[Literal["flavor", "last_name", "type", "uuid"]]
117
+ """Field name to filter by"""
118
+
119
+ type: Required[Literal["ai_cluster"]]
120
+
121
+ values: Required[List[str]]
122
+ """List of field values to filter"""
123
+
124
+
125
+ class SchemaFilterSchemaFilterAIVirtualClusterSerializer(TypedDict, total=False):
126
+ field: Required[Literal["flavor", "last_name", "type", "uuid"]]
127
+ """Field name to filter by"""
128
+
129
+ type: Required[Literal["ai_virtual_cluster"]]
130
+
131
+ values: Required[List[str]]
132
+ """List of field values to filter"""
133
+
134
+
135
+ class SchemaFilterSchemaFilterBasicVmSerializer(TypedDict, total=False):
136
+ field: Required[Literal["flavor", "last_name", "type", "uuid"]]
137
+ """Field name to filter by"""
138
+
139
+ type: Required[Literal["basic_vm"]]
140
+
141
+ values: Required[List[str]]
142
+ """List of field values to filter"""
143
+
144
+
145
+ class SchemaFilterSchemaFilterBaremetalSerializer(TypedDict, total=False):
146
+ field: Required[Literal["flavor", "last_name", "type", "uuid"]]
147
+ """Field name to filter by"""
148
+
149
+ type: Required[Literal["baremetal"]]
150
+
151
+ values: Required[List[str]]
152
+ """List of field values to filter"""
153
+
154
+
155
+ class SchemaFilterSchemaFilterVolumeSerializer(TypedDict, total=False):
156
+ field: Required[Literal["attached_to_vm", "last_name", "last_size", "type", "uuid", "volume_type"]]
157
+ """Field name to filter by"""
158
+
159
+ type: Required[Literal["volume"]]
160
+
161
+ values: Required[List[str]]
162
+ """List of field values to filter"""
163
+
164
+
165
+ class SchemaFilterSchemaFilterFileShareSerializer(TypedDict, total=False):
166
+ field: Required[Literal["file_share_type", "last_name", "last_size", "type", "uuid"]]
167
+ """Field name to filter by"""
168
+
169
+ type: Required[Literal["file_share"]]
170
+
171
+ values: Required[List[str]]
172
+ """List of field values to filter"""
173
+
174
+
175
+ class SchemaFilterSchemaFilterImageSerializer(TypedDict, total=False):
176
+ field: Required[Literal["last_name", "last_size", "type", "uuid"]]
177
+ """Field name to filter by"""
178
+
179
+ type: Required[Literal["image"]]
180
+
181
+ values: Required[List[str]]
182
+ """List of field values to filter"""
183
+
184
+
185
+ class SchemaFilterSchemaFilterFloatingIPSerializer(TypedDict, total=False):
186
+ field: Required[Literal["ip_address", "last_name", "type", "uuid"]]
187
+ """Field name to filter by"""
188
+
189
+ type: Required[Literal["floatingip"]]
190
+
191
+ values: Required[List[str]]
192
+ """List of field values to filter"""
193
+
194
+
195
+ class SchemaFilterSchemaFilterEgressTrafficSerializer(TypedDict, total=False):
196
+ field: Required[Literal["instance_name", "instance_type", "port_id", "type", "vm_id"]]
197
+ """Field name to filter by"""
198
+
199
+ type: Required[Literal["egress_traffic"]]
200
+
201
+ values: Required[List[str]]
202
+ """List of field values to filter"""
203
+
204
+
205
+ class SchemaFilterSchemaFilterLoadBalancerSerializer(TypedDict, total=False):
206
+ field: Required[Literal["flavor", "last_name", "type", "uuid"]]
207
+ """Field name to filter by"""
208
+
209
+ type: Required[Literal["load_balancer"]]
210
+
211
+ values: Required[List[str]]
212
+ """List of field values to filter"""
213
+
214
+
215
+ class SchemaFilterSchemaFilterExternalIPSerializer(TypedDict, total=False):
216
+ field: Required[Literal["attached_to_vm", "ip_address", "network_id", "port_id", "subnet_id", "type"]]
217
+ """Field name to filter by"""
218
+
219
+ type: Required[Literal["external_ip"]]
220
+
221
+ values: Required[List[str]]
222
+ """List of field values to filter"""
223
+
224
+
225
+ class SchemaFilterSchemaFilterBackupSerializer(TypedDict, total=False):
226
+ field: Required[Literal["last_name", "last_size", "schedule_id", "source_volume_uuid", "type", "uuid"]]
227
+ """Field name to filter by"""
228
+
229
+ type: Required[Literal["backup"]]
230
+
231
+ values: Required[List[str]]
232
+ """List of field values to filter"""
233
+
234
+
235
+ class SchemaFilterSchemaFilterLogIndexSerializer(TypedDict, total=False):
236
+ field: Required[Literal["last_name", "last_size", "type", "uuid"]]
237
+ """Field name to filter by"""
238
+
239
+ type: Required[Literal["log_index"]]
240
+
241
+ values: Required[List[str]]
242
+ """List of field values to filter"""
243
+
244
+
245
+ class SchemaFilterSchemaFilterFunctionsSerializer(TypedDict, total=False):
246
+ field: Required[Literal["last_name", "type", "uuid"]]
247
+ """Field name to filter by"""
248
+
249
+ type: Required[Literal["functions"]]
250
+
251
+ values: Required[List[str]]
252
+ """List of field values to filter"""
253
+
254
+
255
+ class SchemaFilterSchemaFilterFunctionsCallsSerializer(TypedDict, total=False):
256
+ field: Required[Literal["last_name", "type", "uuid"]]
257
+ """Field name to filter by"""
258
+
259
+ type: Required[Literal["functions_calls"]]
260
+
261
+ values: Required[List[str]]
262
+ """List of field values to filter"""
263
+
264
+
265
+ class SchemaFilterSchemaFilterFunctionsTrafficSerializer(TypedDict, total=False):
266
+ field: Required[Literal["last_name", "type", "uuid"]]
267
+ """Field name to filter by"""
268
+
269
+ type: Required[Literal["functions_traffic"]]
270
+
271
+ values: Required[List[str]]
272
+ """List of field values to filter"""
273
+
274
+
275
+ class SchemaFilterSchemaFilterContainersSerializer(TypedDict, total=False):
276
+ field: Required[Literal["last_name", "type", "uuid"]]
277
+ """Field name to filter by"""
278
+
279
+ type: Required[Literal["containers"]]
280
+
281
+ values: Required[List[str]]
282
+ """List of field values to filter"""
283
+
284
+
285
+ class SchemaFilterSchemaFilterInferenceSerializer(TypedDict, total=False):
286
+ field: Required[Literal["flavor", "last_name", "type", "uuid"]]
287
+ """Field name to filter by"""
288
+
289
+ type: Required[Literal["inference"]]
290
+
291
+ values: Required[List[str]]
292
+ """List of field values to filter"""
293
+
294
+
295
+ class SchemaFilterSchemaFilterDbaasPostgreSQLVolumeSerializer(TypedDict, total=False):
296
+ field: Required[Literal["last_name", "type", "uuid", "volume_type"]]
297
+ """Field name to filter by"""
298
+
299
+ type: Required[Literal["dbaas_postgresql_volume"]]
300
+
301
+ values: Required[List[str]]
302
+ """List of field values to filter"""
303
+
304
+
305
+ class SchemaFilterSchemaFilterDbaasPostgreSQLPublicNetworkSerializer(TypedDict, total=False):
306
+ field: Required[Literal["last_name", "type", "uuid"]]
307
+ """Field name to filter by"""
308
+
309
+ type: Required[Literal["dbaas_postgresql_public_network"]]
310
+
311
+ values: Required[List[str]]
312
+ """List of field values to filter"""
313
+
314
+
315
+ class SchemaFilterSchemaFilterDbaasPostgreSqlcpuSerializer(TypedDict, total=False):
316
+ field: Required[Literal["last_name", "type", "uuid"]]
317
+ """Field name to filter by"""
318
+
319
+ type: Required[Literal["dbaas_postgresql_cpu"]]
320
+
321
+ values: Required[List[str]]
322
+ """List of field values to filter"""
323
+
324
+
325
+ class SchemaFilterSchemaFilterDbaasPostgreSQLMemorySerializer(TypedDict, total=False):
326
+ field: Required[Literal["last_name", "type", "uuid"]]
327
+ """Field name to filter by"""
328
+
329
+ type: Required[Literal["dbaas_postgresql_memory"]]
330
+
331
+ values: Required[List[str]]
332
+ """List of field values to filter"""
333
+
334
+
335
+ class SchemaFilterSchemaFilterDbaasPostgreSQLPoolerSerializer(TypedDict, total=False):
336
+ field: Required[Literal["last_name", "type", "uuid"]]
337
+ """Field name to filter by"""
338
+
339
+ type: Required[Literal["dbaas_postgresql_connection_pooler"]]
340
+
341
+ values: Required[List[str]]
342
+ """List of field values to filter"""
343
+
344
+
345
+ SchemaFilter: TypeAlias = Union[
346
+ SchemaFilterSchemaFilterSnapshotSerializer,
347
+ SchemaFilterSchemaFilterInstanceSerializer,
348
+ SchemaFilterSchemaFilterAIClusterSerializer,
349
+ SchemaFilterSchemaFilterAIVirtualClusterSerializer,
350
+ SchemaFilterSchemaFilterBasicVmSerializer,
351
+ SchemaFilterSchemaFilterBaremetalSerializer,
352
+ SchemaFilterSchemaFilterVolumeSerializer,
353
+ SchemaFilterSchemaFilterFileShareSerializer,
354
+ SchemaFilterSchemaFilterImageSerializer,
355
+ SchemaFilterSchemaFilterFloatingIPSerializer,
356
+ SchemaFilterSchemaFilterEgressTrafficSerializer,
357
+ SchemaFilterSchemaFilterLoadBalancerSerializer,
358
+ SchemaFilterSchemaFilterExternalIPSerializer,
359
+ SchemaFilterSchemaFilterBackupSerializer,
360
+ SchemaFilterSchemaFilterLogIndexSerializer,
361
+ SchemaFilterSchemaFilterFunctionsSerializer,
362
+ SchemaFilterSchemaFilterFunctionsCallsSerializer,
363
+ SchemaFilterSchemaFilterFunctionsTrafficSerializer,
364
+ SchemaFilterSchemaFilterContainersSerializer,
365
+ SchemaFilterSchemaFilterInferenceSerializer,
366
+ SchemaFilterSchemaFilterDbaasPostgreSQLVolumeSerializer,
367
+ SchemaFilterSchemaFilterDbaasPostgreSQLPublicNetworkSerializer,
368
+ SchemaFilterSchemaFilterDbaasPostgreSqlcpuSerializer,
369
+ SchemaFilterSchemaFilterDbaasPostgreSQLMemorySerializer,
370
+ SchemaFilterSchemaFilterDbaasPostgreSQLPoolerSerializer,
371
+ ]
372
+
373
+
374
+ class TagsCondition(TypedDict, total=False):
375
+ key: str
376
+ """The name of the tag to filter (e.g., '`os_version`')."""
377
+
378
+ strict: bool
379
+ """Determines how strictly the tag value must match the specified value.
380
+
381
+ If true, the tag value must exactly match the given value. If false, a less
382
+ strict match (e.g., partial or case-insensitive match) may be applied.
383
+ """
384
+
385
+ value: str
386
+ """The value of the tag to filter (e.g., '22.04')."""
387
+
388
+
389
+ class Tags(TypedDict, total=False):
390
+ conditions: Required[Iterable[TagsCondition]]
391
+ """A list of tag filtering conditions defining how tags should match."""
392
+
393
+ condition_type: Literal["AND", "OR"]
394
+ """Specifies whether conditions are combined using OR (default) or AND logic."""