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,1343 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Dict, List, Union, Optional
4
+ from datetime import datetime
5
+ from typing_extensions import Literal, Annotated, TypeAlias
6
+
7
+ from ..._utils import PropertyInfo
8
+ from ..._models import BaseModel
9
+
10
+ __all__ = [
11
+ "CostReportDetailed",
12
+ "Result",
13
+ "ResultResourceAIClusterWithCostSerializer",
14
+ "ResultResourceAIVirtualClusterWithCostSerializer",
15
+ "ResultResourceBaremetalWithCostSerializer",
16
+ "ResultResourceBasicVmWithCostSerializer",
17
+ "ResultResourceBackupWithCostSerializer",
18
+ "ResultResourceContainerWithCostSerializer",
19
+ "ResultResourceEgressTrafficWithCostSerializer",
20
+ "ResultResourceExternalIPWithCostSerializer",
21
+ "ResultResourceFileShareWithCostSerializer",
22
+ "ResultResourceFloatingIPWithCostSerializer",
23
+ "ResultResourceFunctionsWithCostSerializer",
24
+ "ResultResourceFunctionCallsWithCostSerializer",
25
+ "ResultResourceFunctionEgressTrafficWithCostSerializer",
26
+ "ResultResourceImagesWithCostSerializer",
27
+ "ResultResourceInferenceWithCostSerializer",
28
+ "ResultResourceInstanceWithCostSerializer",
29
+ "ResultResourceLoadBalancerWithCostSerializer",
30
+ "ResultResourceLogIndexWithCostSerializer",
31
+ "ResultResourceSnapshotWithCostSerializer",
32
+ "ResultResourceVolumeWithCostSerializer",
33
+ "ResultResourceDbaasPostgreSQLPoolerWithCostSerializer",
34
+ "ResultResourceDbaasPostgreSQLMemoryWithCostSerializer",
35
+ "ResultResourceDbaasPostgreSQLPublicNetworkWithCostSerializer",
36
+ "ResultResourceDbaasPostgreSqlcpuWithCostSerializer",
37
+ "ResultResourceDbaasPostgreSQLVolumeWithCostSerializer",
38
+ ]
39
+
40
+
41
+ class ResultResourceAIClusterWithCostSerializer(BaseModel):
42
+ billing_feature_name: Optional[str] = None
43
+
44
+ billing_metric_name: str
45
+ """Name of the billing metric"""
46
+
47
+ billing_value: float
48
+ """Value of the billing metric"""
49
+
50
+ billing_value_unit: Literal["minutes"]
51
+ """Unit of billing value"""
52
+
53
+ cost: Optional[float] = None
54
+ """Cost for requested period"""
55
+
56
+ currency: Optional[str] = None
57
+ """Currency of the cost"""
58
+
59
+ err: Optional[str] = None
60
+ """Error message"""
61
+
62
+ first_seen: datetime
63
+ """First time the resource was seen in the given period"""
64
+
65
+ flavor: str
66
+ """Flavor of the Baremetal GPU cluster"""
67
+
68
+ last_name: str
69
+ """Name of the AI cluster"""
70
+
71
+ last_seen: datetime
72
+ """Last time the resource was seen in the given period"""
73
+
74
+ project_id: int
75
+ """ID of the project the resource belongs to"""
76
+
77
+ region: int
78
+ """Region ID"""
79
+
80
+ region_id: int
81
+ """Region ID"""
82
+
83
+ tags: Optional[List[Dict[str, str]]] = None
84
+ """List of tags"""
85
+
86
+ type: Literal["ai_cluster"]
87
+
88
+ uuid: str
89
+ """UUID of the Baremetal GPU cluster"""
90
+
91
+
92
+ class ResultResourceAIVirtualClusterWithCostSerializer(BaseModel):
93
+ billing_feature_name: Optional[str] = None
94
+
95
+ billing_metric_name: str
96
+ """Name of the billing metric"""
97
+
98
+ billing_value: float
99
+ """Value of the billing metric"""
100
+
101
+ billing_value_unit: Literal["minutes"]
102
+ """Unit of billing value"""
103
+
104
+ cost: Optional[float] = None
105
+ """Cost for requested period"""
106
+
107
+ currency: Optional[str] = None
108
+ """Currency of the cost"""
109
+
110
+ err: Optional[str] = None
111
+ """Error message"""
112
+
113
+ first_seen: datetime
114
+ """First time the resource was seen in the given period"""
115
+
116
+ flavor: str
117
+ """Flavor of the Virtual GPU cluster"""
118
+
119
+ last_name: str
120
+ """Name of the AI cluster"""
121
+
122
+ last_seen: datetime
123
+ """Last time the resource was seen in the given period"""
124
+
125
+ project_id: int
126
+ """ID of the project the resource belongs to"""
127
+
128
+ region: int
129
+ """Region ID"""
130
+
131
+ region_id: int
132
+ """Region ID"""
133
+
134
+ tags: Optional[List[Dict[str, str]]] = None
135
+ """List of tags"""
136
+
137
+ type: Literal["ai_virtual_cluster"]
138
+
139
+ uuid: str
140
+ """UUID of the Virtual GPU cluster"""
141
+
142
+
143
+ class ResultResourceBaremetalWithCostSerializer(BaseModel):
144
+ billing_feature_name: Optional[str] = None
145
+
146
+ billing_metric_name: str
147
+ """Name of the billing metric"""
148
+
149
+ billing_value: float
150
+ """Value of the billing metric"""
151
+
152
+ billing_value_unit: Literal["minutes"]
153
+ """Unit of billing value"""
154
+
155
+ cost: Optional[float] = None
156
+ """Cost for requested period"""
157
+
158
+ currency: Optional[str] = None
159
+ """Currency of the cost"""
160
+
161
+ err: Optional[str] = None
162
+ """Error message"""
163
+
164
+ first_seen: datetime
165
+ """First time the resource was seen in the given period"""
166
+
167
+ flavor: str
168
+ """Flavor of the bare metal server"""
169
+
170
+ last_name: str
171
+ """Name of the bare metal server"""
172
+
173
+ last_seen: datetime
174
+ """Last time the resource was seen in the given period"""
175
+
176
+ project_id: int
177
+ """ID of the project the resource belongs to"""
178
+
179
+ region: int
180
+ """Region ID"""
181
+
182
+ region_id: int
183
+ """Region ID"""
184
+
185
+ tags: Optional[List[Dict[str, str]]] = None
186
+ """List of tags"""
187
+
188
+ type: Literal["baremetal"]
189
+
190
+ uuid: str
191
+ """UUID of the bare metal server"""
192
+
193
+
194
+ class ResultResourceBasicVmWithCostSerializer(BaseModel):
195
+ billing_feature_name: Optional[str] = None
196
+
197
+ billing_metric_name: str
198
+ """Name of the billing metric"""
199
+
200
+ billing_value: float
201
+ """Value of the billing metric"""
202
+
203
+ billing_value_unit: Literal["minutes"]
204
+ """Unit of billing value"""
205
+
206
+ cost: Optional[float] = None
207
+ """Cost for requested period"""
208
+
209
+ currency: Optional[str] = None
210
+ """Currency of the cost"""
211
+
212
+ err: Optional[str] = None
213
+ """Error message"""
214
+
215
+ first_seen: datetime
216
+ """First time the resource was seen in the given period"""
217
+
218
+ flavor: str
219
+ """Flavor of the basic VM"""
220
+
221
+ last_name: str
222
+ """Name of the basic VM"""
223
+
224
+ last_seen: datetime
225
+ """Last time the resource was seen in the given period"""
226
+
227
+ project_id: int
228
+ """ID of the project the resource belongs to"""
229
+
230
+ region: int
231
+ """Region ID"""
232
+
233
+ region_id: int
234
+ """Region ID"""
235
+
236
+ tags: Optional[List[Dict[str, str]]] = None
237
+ """List of tags"""
238
+
239
+ type: Literal["basic_vm"]
240
+
241
+ uuid: str
242
+ """UUID of the basic VM"""
243
+
244
+
245
+ class ResultResourceBackupWithCostSerializer(BaseModel):
246
+ billing_feature_name: Optional[str] = None
247
+
248
+ billing_metric_name: str
249
+ """Name of the billing metric"""
250
+
251
+ billing_value: float
252
+ """Value of the billing metric"""
253
+
254
+ billing_value_unit: Literal["gbminutes"]
255
+ """Unit of billing value"""
256
+
257
+ cost: Optional[float] = None
258
+ """Cost for requested period"""
259
+
260
+ currency: Optional[str] = None
261
+ """Currency of the cost"""
262
+
263
+ err: Optional[str] = None
264
+ """Error message"""
265
+
266
+ first_seen: datetime
267
+ """First time the resource was seen in the given period"""
268
+
269
+ last_name: str
270
+ """Name of the backup"""
271
+
272
+ last_seen: datetime
273
+ """Last time the resource was seen in the given period"""
274
+
275
+ last_size: int
276
+ """Size of the backup in bytes"""
277
+
278
+ project_id: int
279
+ """ID of the project the resource belongs to"""
280
+
281
+ region: int
282
+ """Region ID"""
283
+
284
+ region_id: int
285
+ """Region ID"""
286
+
287
+ schedule_id: str
288
+ """ID of the backup schedule"""
289
+
290
+ source_volume_uuid: str
291
+ """UUID of the source volume"""
292
+
293
+ type: Literal["backup"]
294
+
295
+ uuid: str
296
+ """UUID of the backup"""
297
+
298
+
299
+ class ResultResourceContainerWithCostSerializer(BaseModel):
300
+ billing_feature_name: Optional[str] = None
301
+
302
+ billing_metric_name: str
303
+ """Name of the billing metric"""
304
+
305
+ billing_value: float
306
+ """Value of the billing metric"""
307
+
308
+ billing_value_unit: Literal["GBS"]
309
+ """Unit of billing value"""
310
+
311
+ cost: Optional[float] = None
312
+ """Cost for requested period"""
313
+
314
+ currency: Optional[str] = None
315
+ """Currency of the cost"""
316
+
317
+ err: Optional[str] = None
318
+ """Error message"""
319
+
320
+ first_seen: datetime
321
+ """First time the resource was seen in the given period"""
322
+
323
+ last_name: str
324
+ """Name of the container"""
325
+
326
+ last_seen: datetime
327
+ """Last time the resource was seen in the given period"""
328
+
329
+ project_id: int
330
+ """ID of the project the resource belongs to"""
331
+
332
+ region: int
333
+ """Region ID"""
334
+
335
+ region_id: int
336
+ """Region ID"""
337
+
338
+ type: Literal["containers"]
339
+
340
+ uuid: str
341
+ """UUID of the container"""
342
+
343
+
344
+ class ResultResourceEgressTrafficWithCostSerializer(BaseModel):
345
+ billing_feature_name: Optional[str] = None
346
+
347
+ billing_metric_name: str
348
+ """Name of the billing metric"""
349
+
350
+ billing_value: float
351
+ """Value of the billing metric"""
352
+
353
+ billing_value_unit: Literal["bytes"]
354
+ """Unit of billing value"""
355
+
356
+ cost: Optional[float] = None
357
+ """Cost for requested period"""
358
+
359
+ currency: Optional[str] = None
360
+ """Currency of the cost"""
361
+
362
+ err: Optional[str] = None
363
+ """Error message"""
364
+
365
+ first_seen: datetime
366
+ """First time the resource was seen in the given period"""
367
+
368
+ instance_type: Literal["baremetal", "vm"]
369
+ """Type of the instance"""
370
+
371
+ last_seen: datetime
372
+ """Last time the resource was seen in the given period"""
373
+
374
+ port_id: str
375
+ """ID of the port the traffic is associated with"""
376
+
377
+ project_id: int
378
+ """ID of the project the resource belongs to"""
379
+
380
+ region: int
381
+ """Region ID"""
382
+
383
+ region_id: int
384
+ """Region ID"""
385
+
386
+ size_unit: str
387
+ """Unit of size"""
388
+
389
+ tags: Optional[List[Dict[str, str]]] = None
390
+ """List of tags"""
391
+
392
+ type: Literal["egress_traffic"]
393
+
394
+ vm_id: str
395
+ """ID of the bare metal server the traffic is associated with"""
396
+
397
+ instance_name: Optional[str] = None
398
+ """Name of the instance"""
399
+
400
+
401
+ class ResultResourceExternalIPWithCostSerializer(BaseModel):
402
+ attached_to_vm: Optional[str] = None
403
+ """ID of the VM the IP is attached to"""
404
+
405
+ billing_feature_name: Optional[str] = None
406
+
407
+ billing_metric_name: str
408
+ """Name of the billing metric"""
409
+
410
+ billing_value: float
411
+ """Value of the billing metric"""
412
+
413
+ billing_value_unit: Literal["minutes"]
414
+ """Unit of billing value"""
415
+
416
+ cost: Optional[float] = None
417
+ """Cost for requested period"""
418
+
419
+ currency: Optional[str] = None
420
+ """Currency of the cost"""
421
+
422
+ err: Optional[str] = None
423
+ """Error message"""
424
+
425
+ first_seen: datetime
426
+ """First time the resource was seen in the given period"""
427
+
428
+ ip_address: str
429
+ """IP address"""
430
+
431
+ last_seen: datetime
432
+ """Last time the resource was seen in the given period"""
433
+
434
+ network_id: str
435
+ """ID of the network the IP is attached to"""
436
+
437
+ port_id: str
438
+ """ID of the port the IP is associated with"""
439
+
440
+ project_id: int
441
+ """ID of the project the resource belongs to"""
442
+
443
+ region: int
444
+ """Region ID"""
445
+
446
+ region_id: int
447
+ """Region ID"""
448
+
449
+ subnet_id: str
450
+ """ID of the subnet the IP is attached to"""
451
+
452
+ type: Literal["external_ip"]
453
+
454
+
455
+ class ResultResourceFileShareWithCostSerializer(BaseModel):
456
+ billing_feature_name: Optional[str] = None
457
+
458
+ billing_metric_name: str
459
+ """Name of the billing metric"""
460
+
461
+ billing_value: float
462
+ """Value of the billing metric"""
463
+
464
+ billing_value_unit: Literal["gbminutes"]
465
+ """Unit of billing value"""
466
+
467
+ cost: Optional[float] = None
468
+ """Cost for requested period"""
469
+
470
+ currency: Optional[str] = None
471
+ """Currency of the cost"""
472
+
473
+ err: Optional[str] = None
474
+ """Error message"""
475
+
476
+ file_share_type: str
477
+ """Type of the file share"""
478
+
479
+ first_seen: datetime
480
+ """First time the resource was seen in the given period"""
481
+
482
+ last_name: str
483
+ """Name of the file share"""
484
+
485
+ last_seen: datetime
486
+ """Last time the resource was seen in the given period"""
487
+
488
+ last_size: int
489
+ """Size of the file share in bytes"""
490
+
491
+ project_id: int
492
+ """ID of the project the resource belongs to"""
493
+
494
+ region: int
495
+ """Region ID"""
496
+
497
+ region_id: int
498
+ """Region ID"""
499
+
500
+ size_unit: Literal["GiB"]
501
+ """Unit of size"""
502
+
503
+ tags: Optional[List[Dict[str, str]]] = None
504
+ """List of tags"""
505
+
506
+ type: Literal["file_share"]
507
+
508
+ uuid: str
509
+ """UUID of the file share"""
510
+
511
+
512
+ class ResultResourceFloatingIPWithCostSerializer(BaseModel):
513
+ billing_feature_name: Optional[str] = None
514
+
515
+ billing_metric_name: str
516
+ """Name of the billing metric"""
517
+
518
+ billing_value: float
519
+ """Value of the billing metric"""
520
+
521
+ billing_value_unit: Literal["minutes"]
522
+ """Unit of billing value"""
523
+
524
+ cost: Optional[float] = None
525
+ """Cost for requested period"""
526
+
527
+ currency: Optional[str] = None
528
+ """Currency of the cost"""
529
+
530
+ err: Optional[str] = None
531
+ """Error message"""
532
+
533
+ first_seen: datetime
534
+ """First time the resource was seen in the given period"""
535
+
536
+ ip_address: str
537
+ """IP address"""
538
+
539
+ last_name: str
540
+ """Name of the floating IP"""
541
+
542
+ last_seen: datetime
543
+ """Last time the resource was seen in the given period"""
544
+
545
+ project_id: int
546
+ """ID of the project the resource belongs to"""
547
+
548
+ region: int
549
+ """Region ID"""
550
+
551
+ region_id: int
552
+ """Region ID"""
553
+
554
+ tags: Optional[List[Dict[str, str]]] = None
555
+ """List of tags"""
556
+
557
+ type: Literal["floatingip"]
558
+
559
+ uuid: str
560
+ """UUID of the floating IP"""
561
+
562
+
563
+ class ResultResourceFunctionsWithCostSerializer(BaseModel):
564
+ billing_feature_name: Optional[str] = None
565
+
566
+ billing_metric_name: str
567
+ """Name of the billing metric"""
568
+
569
+ billing_value: float
570
+ """Value of the billing metric"""
571
+
572
+ billing_value_unit: Literal["GBS"]
573
+ """Unit of billing value"""
574
+
575
+ cost: Optional[float] = None
576
+ """Cost for requested period"""
577
+
578
+ currency: Optional[str] = None
579
+ """Currency of the cost"""
580
+
581
+ err: Optional[str] = None
582
+ """Error message"""
583
+
584
+ first_seen: datetime
585
+ """First time the resource was seen in the given period"""
586
+
587
+ last_name: str
588
+ """Name of the function"""
589
+
590
+ last_seen: datetime
591
+ """Last time the resource was seen in the given period"""
592
+
593
+ project_id: int
594
+ """ID of the project the resource belongs to"""
595
+
596
+ region: int
597
+ """Region ID"""
598
+
599
+ region_id: int
600
+ """Region ID"""
601
+
602
+ type: Literal["functions"]
603
+
604
+ uuid: str
605
+ """UUID of the function"""
606
+
607
+
608
+ class ResultResourceFunctionCallsWithCostSerializer(BaseModel):
609
+ billing_feature_name: Optional[str] = None
610
+
611
+ billing_metric_name: str
612
+ """Name of the billing metric"""
613
+
614
+ billing_value: float
615
+ """Value of the billing metric"""
616
+
617
+ billing_value_unit: Literal["MLS"]
618
+ """Unit of billing value"""
619
+
620
+ cost: Optional[float] = None
621
+ """Cost for requested period"""
622
+
623
+ currency: Optional[str] = None
624
+ """Currency of the cost"""
625
+
626
+ err: Optional[str] = None
627
+ """Error message"""
628
+
629
+ first_seen: datetime
630
+ """First time the resource was seen in the given period"""
631
+
632
+ last_name: str
633
+ """Name of the function call"""
634
+
635
+ last_seen: datetime
636
+ """Last time the resource was seen in the given period"""
637
+
638
+ project_id: int
639
+ """ID of the project the resource belongs to"""
640
+
641
+ region: int
642
+ """Region ID"""
643
+
644
+ region_id: int
645
+ """Region ID"""
646
+
647
+ type: Literal["functions_calls"]
648
+
649
+ uuid: str
650
+ """UUID of the function call"""
651
+
652
+
653
+ class ResultResourceFunctionEgressTrafficWithCostSerializer(BaseModel):
654
+ billing_feature_name: Optional[str] = None
655
+
656
+ billing_metric_name: str
657
+ """Name of the billing metric"""
658
+
659
+ billing_value: float
660
+ """Value of the billing metric"""
661
+
662
+ billing_value_unit: Literal["GB"]
663
+ """Unit of billing value"""
664
+
665
+ cost: Optional[float] = None
666
+ """Cost for requested period"""
667
+
668
+ currency: Optional[str] = None
669
+ """Currency of the cost"""
670
+
671
+ err: Optional[str] = None
672
+ """Error message"""
673
+
674
+ first_seen: datetime
675
+ """First time the resource was seen in the given period"""
676
+
677
+ last_name: str
678
+ """Name of the function egress traffic"""
679
+
680
+ last_seen: datetime
681
+ """Last time the resource was seen in the given period"""
682
+
683
+ project_id: int
684
+ """ID of the project the resource belongs to"""
685
+
686
+ region: int
687
+ """Region ID"""
688
+
689
+ region_id: int
690
+ """Region ID"""
691
+
692
+ type: Literal["functions_traffic"]
693
+
694
+ uuid: str
695
+ """UUID of the function egress traffic"""
696
+
697
+
698
+ class ResultResourceImagesWithCostSerializer(BaseModel):
699
+ billing_feature_name: Optional[str] = None
700
+
701
+ billing_metric_name: str
702
+ """Name of the billing metric"""
703
+
704
+ billing_value: float
705
+ """Value of the billing metric"""
706
+
707
+ billing_value_unit: Literal["gbminutes"]
708
+ """Unit of billing value"""
709
+
710
+ cost: Optional[float] = None
711
+ """Cost for requested period"""
712
+
713
+ currency: Optional[str] = None
714
+ """Currency of the cost"""
715
+
716
+ err: Optional[str] = None
717
+ """Error message"""
718
+
719
+ first_seen: datetime
720
+ """First time the resource was seen in the given period"""
721
+
722
+ last_name: str
723
+ """Name of the image"""
724
+
725
+ last_seen: datetime
726
+ """Last time the resource was seen in the given period"""
727
+
728
+ last_size: int
729
+ """Size of the image in bytes"""
730
+
731
+ project_id: int
732
+ """ID of the project the resource belongs to"""
733
+
734
+ region: int
735
+ """Region ID"""
736
+
737
+ region_id: int
738
+ """Region ID"""
739
+
740
+ size_unit: Literal["bytes"]
741
+ """Unit of size"""
742
+
743
+ tags: Optional[List[Dict[str, str]]] = None
744
+ """List of tags"""
745
+
746
+ type: Literal["image"]
747
+
748
+ uuid: str
749
+ """UUID of the image"""
750
+
751
+
752
+ class ResultResourceInferenceWithCostSerializer(BaseModel):
753
+ billing_feature_name: Optional[str] = None
754
+
755
+ billing_metric_name: str
756
+ """Name of the billing metric"""
757
+
758
+ billing_value: float
759
+ """Value of the billing metric"""
760
+
761
+ billing_value_unit: str
762
+ """Unit of billing value"""
763
+
764
+ cost: Optional[float] = None
765
+ """Cost for requested period"""
766
+
767
+ currency: Optional[str] = None
768
+ """Currency of the cost"""
769
+
770
+ err: Optional[str] = None
771
+ """Error message"""
772
+
773
+ first_seen: datetime
774
+ """First time the resource was seen in the given period"""
775
+
776
+ flavor: str
777
+ """Flavor of the inference deployment"""
778
+
779
+ last_name: str
780
+ """Name of the inference deployment"""
781
+
782
+ last_seen: datetime
783
+ """Last time the resource was seen in the given period"""
784
+
785
+ project_id: int
786
+ """ID of the project the resource belongs to"""
787
+
788
+ region: int
789
+ """Region ID"""
790
+
791
+ region_id: int
792
+ """Region ID"""
793
+
794
+ type: Literal["inference"]
795
+
796
+ uuid: str
797
+ """UUID of the inference deployment"""
798
+
799
+
800
+ class ResultResourceInstanceWithCostSerializer(BaseModel):
801
+ billing_feature_name: Optional[str] = None
802
+
803
+ billing_metric_name: str
804
+ """Name of the billing metric"""
805
+
806
+ billing_value: float
807
+ """Value of the billing metric"""
808
+
809
+ billing_value_unit: Literal["minutes"]
810
+ """Unit of billing value"""
811
+
812
+ cost: Optional[float] = None
813
+ """Cost for requested period"""
814
+
815
+ currency: Optional[str] = None
816
+ """Currency of the cost"""
817
+
818
+ err: Optional[str] = None
819
+ """Error message"""
820
+
821
+ first_seen: datetime
822
+ """First time the resource was seen in the given period"""
823
+
824
+ flavor: str
825
+ """Flavor of the instance"""
826
+
827
+ last_name: str
828
+ """Name of the instance"""
829
+
830
+ last_seen: datetime
831
+ """Last time the resource was seen in the given period"""
832
+
833
+ project_id: int
834
+ """ID of the project the resource belongs to"""
835
+
836
+ region: int
837
+ """Region ID"""
838
+
839
+ region_id: int
840
+ """Region ID"""
841
+
842
+ tags: Optional[List[Dict[str, str]]] = None
843
+ """List of tags"""
844
+
845
+ type: Literal["instance"]
846
+
847
+ uuid: str
848
+ """UUID of the instance"""
849
+
850
+
851
+ class ResultResourceLoadBalancerWithCostSerializer(BaseModel):
852
+ billing_feature_name: Optional[str] = None
853
+
854
+ billing_metric_name: str
855
+ """Name of the billing metric"""
856
+
857
+ billing_value: float
858
+ """Value of the billing metric"""
859
+
860
+ billing_value_unit: Literal["minutes"]
861
+ """Unit of billing value"""
862
+
863
+ cost: Optional[float] = None
864
+ """Cost for requested period"""
865
+
866
+ currency: Optional[str] = None
867
+ """Currency of the cost"""
868
+
869
+ err: Optional[str] = None
870
+ """Error message"""
871
+
872
+ first_seen: datetime
873
+ """First time the resource was seen in the given period"""
874
+
875
+ flavor: str
876
+ """Flavor of the load balancer"""
877
+
878
+ last_name: str
879
+ """Name of the load balancer"""
880
+
881
+ last_seen: datetime
882
+ """Last time the resource was seen in the given period"""
883
+
884
+ project_id: int
885
+ """ID of the project the resource belongs to"""
886
+
887
+ region: int
888
+ """Region ID"""
889
+
890
+ region_id: int
891
+ """Region ID"""
892
+
893
+ tags: Optional[List[Dict[str, str]]] = None
894
+ """List of tags"""
895
+
896
+ type: Literal["load_balancer"]
897
+
898
+ uuid: str
899
+ """UUID of the load balancer"""
900
+
901
+
902
+ class ResultResourceLogIndexWithCostSerializer(BaseModel):
903
+ billing_feature_name: Optional[str] = None
904
+
905
+ billing_metric_name: str
906
+ """Name of the billing metric"""
907
+
908
+ billing_value: float
909
+ """Value of the billing metric"""
910
+
911
+ billing_value_unit: Literal["gbminutes"]
912
+ """Unit of billing value"""
913
+
914
+ cost: Optional[float] = None
915
+ """Cost for requested period"""
916
+
917
+ currency: Optional[str] = None
918
+ """Currency of the cost"""
919
+
920
+ err: Optional[str] = None
921
+ """Error message"""
922
+
923
+ first_seen: datetime
924
+ """First time the resource was seen in the given period"""
925
+
926
+ last_name: str
927
+ """Name of the log index"""
928
+
929
+ last_seen: datetime
930
+ """Last time the resource was seen in the given period"""
931
+
932
+ last_size: int
933
+ """Size of the log index in bytes"""
934
+
935
+ project_id: int
936
+ """ID of the project the resource belongs to"""
937
+
938
+ region: int
939
+ """Region ID"""
940
+
941
+ region_id: int
942
+ """Region ID"""
943
+
944
+ size_unit: str
945
+ """Unit of size"""
946
+
947
+ type: Literal["log_index"]
948
+
949
+ uuid: Optional[str] = None
950
+ """UUID of the log index"""
951
+
952
+
953
+ class ResultResourceSnapshotWithCostSerializer(BaseModel):
954
+ billing_feature_name: Optional[str] = None
955
+
956
+ billing_metric_name: str
957
+ """Name of the billing metric"""
958
+
959
+ billing_value: float
960
+ """Value of the billing metric"""
961
+
962
+ billing_value_unit: Literal["gbminutes"]
963
+ """Unit of billing value"""
964
+
965
+ cost: Optional[float] = None
966
+ """Cost for requested period"""
967
+
968
+ currency: Optional[str] = None
969
+ """Currency of the cost"""
970
+
971
+ err: Optional[str] = None
972
+ """Error message"""
973
+
974
+ first_seen: datetime
975
+ """First time the resource was seen in the given period"""
976
+
977
+ last_name: str
978
+ """Name of the snapshot"""
979
+
980
+ last_seen: datetime
981
+ """Last time the resource was seen in the given period"""
982
+
983
+ last_size: int
984
+ """Size of the snapshot in bytes"""
985
+
986
+ project_id: int
987
+ """ID of the project the resource belongs to"""
988
+
989
+ region: int
990
+ """Region ID"""
991
+
992
+ region_id: int
993
+ """Region ID"""
994
+
995
+ size_unit: str
996
+ """Unit of size"""
997
+
998
+ source_volume_uuid: str
999
+ """UUID of the source volume"""
1000
+
1001
+ tags: Optional[List[Dict[str, str]]] = None
1002
+ """List of tags"""
1003
+
1004
+ type: Literal["snapshot"]
1005
+
1006
+ uuid: str
1007
+ """UUID of the snapshot"""
1008
+
1009
+ volume_type: str
1010
+ """Type of the volume"""
1011
+
1012
+
1013
+ class ResultResourceVolumeWithCostSerializer(BaseModel):
1014
+ billing_feature_name: Optional[str] = None
1015
+
1016
+ billing_metric_name: str
1017
+ """Name of the billing metric"""
1018
+
1019
+ billing_value: float
1020
+ """Value of the billing metric"""
1021
+
1022
+ billing_value_unit: Literal["gbminutes"]
1023
+ """Unit of billing value"""
1024
+
1025
+ cost: Optional[float] = None
1026
+ """Cost for requested period"""
1027
+
1028
+ currency: Optional[str] = None
1029
+ """Currency of the cost"""
1030
+
1031
+ err: Optional[str] = None
1032
+ """Error message"""
1033
+
1034
+ first_seen: datetime
1035
+ """First time the resource was seen in the given period"""
1036
+
1037
+ last_name: str
1038
+ """Name of the volume"""
1039
+
1040
+ last_seen: datetime
1041
+ """Last time the resource was seen in the given period"""
1042
+
1043
+ last_size: int
1044
+ """Size of the volume in bytes"""
1045
+
1046
+ project_id: int
1047
+ """ID of the project the resource belongs to"""
1048
+
1049
+ region: int
1050
+ """Region ID"""
1051
+
1052
+ region_id: int
1053
+ """Region ID"""
1054
+
1055
+ size_unit: str
1056
+ """Unit of size"""
1057
+
1058
+ tags: Optional[List[Dict[str, str]]] = None
1059
+ """List of tags"""
1060
+
1061
+ type: Literal["volume"]
1062
+
1063
+ uuid: str
1064
+ """UUID of the volume"""
1065
+
1066
+ volume_type: str
1067
+ """Type of the volume"""
1068
+
1069
+ attached_to_vm: Optional[str] = None
1070
+ """ID of the VM the volume is attached to"""
1071
+
1072
+
1073
+ class ResultResourceDbaasPostgreSQLPoolerWithCostSerializer(BaseModel):
1074
+ billing_feature_name: Optional[str] = None
1075
+
1076
+ billing_metric_name: str
1077
+ """Name of the billing metric"""
1078
+
1079
+ billing_value: float
1080
+ """Value of the billing metric"""
1081
+
1082
+ billing_value_unit: Literal["minutes"]
1083
+ """Unit of billing value"""
1084
+
1085
+ cost: Optional[float] = None
1086
+ """Cost for requested period"""
1087
+
1088
+ currency: Optional[str] = None
1089
+ """Currency of the cost"""
1090
+
1091
+ err: Optional[str] = None
1092
+ """Error message"""
1093
+
1094
+ first_seen: datetime
1095
+ """First time the resource was seen in the given period"""
1096
+
1097
+ last_name: str
1098
+ """Name of the cluster"""
1099
+
1100
+ last_seen: datetime
1101
+ """Last time the resource was seen in the given period"""
1102
+
1103
+ project_id: int
1104
+ """ID of the project the resource belongs to"""
1105
+
1106
+ region: int
1107
+ """Region ID"""
1108
+
1109
+ region_id: int
1110
+ """Region ID"""
1111
+
1112
+ type: Literal["dbaas_postgresql_connection_pooler"]
1113
+
1114
+ uuid: str
1115
+ """UUID of the cluster"""
1116
+
1117
+
1118
+ class ResultResourceDbaasPostgreSQLMemoryWithCostSerializer(BaseModel):
1119
+ billing_feature_name: Optional[str] = None
1120
+
1121
+ billing_metric_name: str
1122
+ """Name of the billing metric"""
1123
+
1124
+ billing_value: float
1125
+ """Value of the billing metric"""
1126
+
1127
+ billing_value_unit: Literal["gbminutes"]
1128
+ """Unit of billing value"""
1129
+
1130
+ cost: Optional[float] = None
1131
+ """Cost for requested period"""
1132
+
1133
+ currency: Optional[str] = None
1134
+ """Currency of the cost"""
1135
+
1136
+ err: Optional[str] = None
1137
+ """Error message"""
1138
+
1139
+ first_seen: datetime
1140
+ """First time the resource was seen in the given period"""
1141
+
1142
+ last_name: str
1143
+ """Name of the cluster"""
1144
+
1145
+ last_seen: datetime
1146
+ """Last time the resource was seen in the given period"""
1147
+
1148
+ project_id: int
1149
+ """ID of the project the resource belongs to"""
1150
+
1151
+ region: int
1152
+ """Region ID"""
1153
+
1154
+ region_id: int
1155
+ """Region ID"""
1156
+
1157
+ type: Literal["dbaas_postgresql_memory"]
1158
+
1159
+ uuid: str
1160
+ """UUID of the cluster"""
1161
+
1162
+
1163
+ class ResultResourceDbaasPostgreSQLPublicNetworkWithCostSerializer(BaseModel):
1164
+ billing_feature_name: Optional[str] = None
1165
+
1166
+ billing_metric_name: str
1167
+ """Name of the billing metric"""
1168
+
1169
+ billing_value: float
1170
+ """Value of the billing metric"""
1171
+
1172
+ billing_value_unit: Literal["minutes"]
1173
+ """Unit of billing value"""
1174
+
1175
+ cost: Optional[float] = None
1176
+ """Cost for requested period"""
1177
+
1178
+ currency: Optional[str] = None
1179
+ """Currency of the cost"""
1180
+
1181
+ err: Optional[str] = None
1182
+ """Error message"""
1183
+
1184
+ first_seen: datetime
1185
+ """First time the resource was seen in the given period"""
1186
+
1187
+ last_name: str
1188
+ """Name of the cluster"""
1189
+
1190
+ last_seen: datetime
1191
+ """Last time the resource was seen in the given period"""
1192
+
1193
+ project_id: int
1194
+ """ID of the project the resource belongs to"""
1195
+
1196
+ region: int
1197
+ """Region ID"""
1198
+
1199
+ region_id: int
1200
+ """Region ID"""
1201
+
1202
+ type: Literal["dbaas_postgresql_public_network"]
1203
+
1204
+ uuid: str
1205
+ """UUID of the cluster"""
1206
+
1207
+
1208
+ class ResultResourceDbaasPostgreSqlcpuWithCostSerializer(BaseModel):
1209
+ billing_feature_name: Optional[str] = None
1210
+
1211
+ billing_metric_name: str
1212
+ """Name of the billing metric"""
1213
+
1214
+ billing_value: float
1215
+ """Value of the billing metric"""
1216
+
1217
+ billing_value_unit: Literal["minutes"]
1218
+ """Unit of billing value"""
1219
+
1220
+ cost: Optional[float] = None
1221
+ """Cost for requested period"""
1222
+
1223
+ currency: Optional[str] = None
1224
+ """Currency of the cost"""
1225
+
1226
+ err: Optional[str] = None
1227
+ """Error message"""
1228
+
1229
+ first_seen: datetime
1230
+ """First time the resource was seen in the given period"""
1231
+
1232
+ last_name: str
1233
+ """Name of the cluster"""
1234
+
1235
+ last_seen: datetime
1236
+ """Last time the resource was seen in the given period"""
1237
+
1238
+ project_id: int
1239
+ """ID of the project the resource belongs to"""
1240
+
1241
+ region: int
1242
+ """Region ID"""
1243
+
1244
+ region_id: int
1245
+ """Region ID"""
1246
+
1247
+ type: Literal["dbaas_postgresql_cpu"]
1248
+
1249
+ uuid: str
1250
+ """UUID of the cluster"""
1251
+
1252
+
1253
+ class ResultResourceDbaasPostgreSQLVolumeWithCostSerializer(BaseModel):
1254
+ billing_feature_name: Optional[str] = None
1255
+
1256
+ billing_metric_name: str
1257
+ """Name of the billing metric"""
1258
+
1259
+ billing_value: float
1260
+ """Value of the billing metric"""
1261
+
1262
+ billing_value_unit: Literal["gbminutes"]
1263
+ """Unit of billing value"""
1264
+
1265
+ cost: Optional[float] = None
1266
+ """Cost for requested period"""
1267
+
1268
+ currency: Optional[str] = None
1269
+ """Currency of the cost"""
1270
+
1271
+ err: Optional[str] = None
1272
+ """Error message"""
1273
+
1274
+ first_seen: datetime
1275
+ """First time the resource was seen in the given period"""
1276
+
1277
+ last_name: str
1278
+ """Name of the cluster"""
1279
+
1280
+ last_seen: datetime
1281
+ """Last time the resource was seen in the given period"""
1282
+
1283
+ project_id: int
1284
+ """ID of the project the resource belongs to"""
1285
+
1286
+ region: int
1287
+ """Region ID"""
1288
+
1289
+ region_id: int
1290
+ """Region ID"""
1291
+
1292
+ size_unit: str
1293
+ """Unit of size"""
1294
+
1295
+ type: Literal["dbaas_postgresql_volume"]
1296
+
1297
+ uuid: str
1298
+ """UUID of the cluster"""
1299
+
1300
+ volume_type: str
1301
+ """Type of the volume"""
1302
+
1303
+
1304
+ Result: TypeAlias = Annotated[
1305
+ Union[
1306
+ ResultResourceAIClusterWithCostSerializer,
1307
+ ResultResourceAIVirtualClusterWithCostSerializer,
1308
+ ResultResourceBaremetalWithCostSerializer,
1309
+ ResultResourceBasicVmWithCostSerializer,
1310
+ ResultResourceBackupWithCostSerializer,
1311
+ ResultResourceContainerWithCostSerializer,
1312
+ ResultResourceEgressTrafficWithCostSerializer,
1313
+ ResultResourceExternalIPWithCostSerializer,
1314
+ ResultResourceFileShareWithCostSerializer,
1315
+ ResultResourceFloatingIPWithCostSerializer,
1316
+ ResultResourceFunctionsWithCostSerializer,
1317
+ ResultResourceFunctionCallsWithCostSerializer,
1318
+ ResultResourceFunctionEgressTrafficWithCostSerializer,
1319
+ ResultResourceImagesWithCostSerializer,
1320
+ ResultResourceInferenceWithCostSerializer,
1321
+ ResultResourceInstanceWithCostSerializer,
1322
+ ResultResourceLoadBalancerWithCostSerializer,
1323
+ ResultResourceLogIndexWithCostSerializer,
1324
+ ResultResourceSnapshotWithCostSerializer,
1325
+ ResultResourceVolumeWithCostSerializer,
1326
+ ResultResourceDbaasPostgreSQLPoolerWithCostSerializer,
1327
+ ResultResourceDbaasPostgreSQLMemoryWithCostSerializer,
1328
+ ResultResourceDbaasPostgreSQLPublicNetworkWithCostSerializer,
1329
+ ResultResourceDbaasPostgreSqlcpuWithCostSerializer,
1330
+ ResultResourceDbaasPostgreSQLVolumeWithCostSerializer,
1331
+ ],
1332
+ PropertyInfo(discriminator="type"),
1333
+ ]
1334
+
1335
+
1336
+ class CostReportDetailed(BaseModel):
1337
+ count: int
1338
+ """Count of all the resources"""
1339
+
1340
+ price_status: Literal["error", "hide", "show"]
1341
+ """Price status for the UI, type: string"""
1342
+
1343
+ results: List[Result]