gcore 0.6.0__py3-none-any.whl → 0.8.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 (185) 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 -63
  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/iam/users.py +5 -5
  14. gcore/resources/streaming/__init__.py +159 -0
  15. gcore/resources/streaming/ai_tasks.py +1288 -0
  16. gcore/resources/streaming/broadcasts.py +579 -0
  17. gcore/resources/streaming/directories.py +515 -0
  18. gcore/resources/streaming/players.py +577 -0
  19. gcore/resources/streaming/playlists.py +1059 -0
  20. gcore/resources/streaming/quality_sets.py +331 -0
  21. gcore/resources/streaming/restreams.py +484 -0
  22. gcore/resources/streaming/statistics.py +3224 -0
  23. gcore/resources/streaming/streaming.py +390 -0
  24. gcore/resources/streaming/streams/__init__.py +33 -0
  25. gcore/resources/streaming/streams/overlays.py +716 -0
  26. gcore/resources/streaming/streams/streams.py +1592 -0
  27. gcore/resources/streaming/videos/__init__.py +33 -0
  28. gcore/resources/streaming/videos/subtitles.py +623 -0
  29. gcore/resources/streaming/videos/videos.py +1553 -0
  30. gcore/resources/waap/ip_info.py +28 -10
  31. gcore/types/cloud/__init__.py +10 -0
  32. gcore/types/cloud/cost_report_aggregated.py +865 -0
  33. gcore/types/cloud/cost_report_aggregated_monthly.py +865 -0
  34. gcore/types/cloud/cost_report_detailed.py +1343 -0
  35. gcore/types/cloud/cost_report_get_aggregated_monthly_params.py +394 -0
  36. gcore/types/cloud/cost_report_get_aggregated_params.py +409 -0
  37. gcore/types/cloud/cost_report_get_detailed_params.py +435 -0
  38. gcore/types/cloud/file_share.py +37 -3
  39. gcore/types/cloud/file_share_create_params.py +16 -0
  40. gcore/types/cloud/floating_ip.py +0 -9
  41. gcore/types/cloud/floating_ip_detailed.py +0 -9
  42. gcore/types/cloud/gpu_baremetal_cluster.py +2 -2
  43. gcore/types/cloud/gpu_baremetal_cluster_create_params.py +9 -0
  44. gcore/types/cloud/quota_get_all_response.py +24 -2
  45. gcore/types/cloud/quota_get_by_region_response.py +24 -2
  46. gcore/types/cloud/quotas/request_create_params.py +12 -1
  47. gcore/types/cloud/quotas/request_get_response.py +12 -1
  48. gcore/types/cloud/quotas/request_list_response.py +12 -1
  49. gcore/types/cloud/subnet.py +1 -1
  50. gcore/types/cloud/usage_report.py +1612 -0
  51. gcore/types/cloud/usage_report_get_params.py +432 -0
  52. gcore/types/streaming/__init__.py +143 -0
  53. gcore/types/streaming/ai_contentmoderation_casm.py +39 -0
  54. gcore/types/streaming/ai_contentmoderation_hardnudity.py +54 -0
  55. gcore/types/streaming/ai_contentmoderation_nsfw.py +39 -0
  56. gcore/types/streaming/ai_contentmoderation_softnudity.py +66 -0
  57. gcore/types/streaming/ai_contentmoderation_sport.py +39 -0
  58. gcore/types/streaming/ai_contentmoderation_weapon.py +39 -0
  59. gcore/types/streaming/ai_task.py +205 -0
  60. gcore/types/streaming/ai_task_cancel_response.py +12 -0
  61. gcore/types/streaming/ai_task_create_params.py +168 -0
  62. gcore/types/streaming/ai_task_create_response.py +10 -0
  63. gcore/types/streaming/ai_task_get_ai_settings_params.py +27 -0
  64. gcore/types/streaming/ai_task_get_ai_settings_response.py +12 -0
  65. gcore/types/streaming/ai_task_get_response.py +313 -0
  66. gcore/types/streaming/ai_task_list_params.py +50 -0
  67. gcore/types/streaming/broadcast.py +71 -0
  68. gcore/types/streaming/broadcast_create_params.py +76 -0
  69. gcore/types/streaming/broadcast_list_params.py +12 -0
  70. gcore/types/streaming/broadcast_spectators_count.py +12 -0
  71. gcore/types/streaming/broadcast_update_params.py +76 -0
  72. gcore/types/streaming/clip.py +78 -0
  73. gcore/types/streaming/create_video_param.py +214 -0
  74. gcore/types/streaming/direct_upload_parameters.py +33 -0
  75. gcore/types/streaming/directories_tree.py +19 -0
  76. gcore/types/streaming/directory_base.py +31 -0
  77. gcore/types/streaming/directory_create_params.py +15 -0
  78. gcore/types/streaming/directory_get_response.py +19 -0
  79. gcore/types/streaming/directory_item.py +13 -0
  80. gcore/types/streaming/directory_update_params.py +18 -0
  81. gcore/types/streaming/directory_video.py +13 -0
  82. gcore/types/streaming/ffprobes.py +25 -0
  83. gcore/types/streaming/max_stream_series.py +21 -0
  84. gcore/types/streaming/meet_series.py +23 -0
  85. gcore/types/streaming/player.py +114 -0
  86. gcore/types/streaming/player_create_params.py +18 -0
  87. gcore/types/streaming/player_list_params.py +12 -0
  88. gcore/types/streaming/player_param.py +114 -0
  89. gcore/types/streaming/player_update_params.py +18 -0
  90. gcore/types/streaming/playlist.py +102 -0
  91. gcore/types/streaming/playlist_create.py +12 -0
  92. gcore/types/streaming/playlist_create_params.py +102 -0
  93. gcore/types/streaming/playlist_list_params.py +12 -0
  94. gcore/types/streaming/playlist_list_videos_response.py +10 -0
  95. gcore/types/streaming/playlist_update_params.py +102 -0
  96. gcore/types/streaming/playlist_video.py +215 -0
  97. gcore/types/streaming/popular_videos.py +17 -0
  98. gcore/types/streaming/quality_set_set_default_params.py +23 -0
  99. gcore/types/streaming/quality_sets.py +57 -0
  100. gcore/types/streaming/restream.py +37 -0
  101. gcore/types/streaming/restream_create_params.py +41 -0
  102. gcore/types/streaming/restream_list_params.py +12 -0
  103. gcore/types/streaming/restream_update_params.py +41 -0
  104. gcore/types/streaming/statistic_get_ffprobes_params.py +22 -0
  105. gcore/types/streaming/statistic_get_live_unique_viewers_params.py +26 -0
  106. gcore/types/streaming/statistic_get_live_unique_viewers_response.py +25 -0
  107. gcore/types/streaming/statistic_get_live_watch_time_cdn_params.py +32 -0
  108. gcore/types/streaming/statistic_get_live_watch_time_total_cdn_params.py +30 -0
  109. gcore/types/streaming/statistic_get_max_streams_series_params.py +20 -0
  110. gcore/types/streaming/statistic_get_meet_series_params.py +20 -0
  111. gcore/types/streaming/statistic_get_popular_videos_params.py +15 -0
  112. gcore/types/streaming/statistic_get_storage_series_params.py +20 -0
  113. gcore/types/streaming/statistic_get_stream_series_params.py +20 -0
  114. gcore/types/streaming/statistic_get_unique_viewers_cdn_params.py +27 -0
  115. gcore/types/streaming/statistic_get_unique_viewers_params.py +34 -0
  116. gcore/types/streaming/statistic_get_views_by_browsers_params.py +15 -0
  117. gcore/types/streaming/statistic_get_views_by_country_params.py +15 -0
  118. gcore/types/streaming/statistic_get_views_by_hostname_params.py +15 -0
  119. gcore/types/streaming/statistic_get_views_by_operating_system_params.py +15 -0
  120. gcore/types/streaming/statistic_get_views_by_referer_params.py +15 -0
  121. gcore/types/streaming/statistic_get_views_by_region_params.py +15 -0
  122. gcore/types/streaming/statistic_get_views_heatmap_params.py +21 -0
  123. gcore/types/streaming/statistic_get_views_params.py +34 -0
  124. gcore/types/streaming/statistic_get_vod_storage_volume_params.py +17 -0
  125. gcore/types/streaming/statistic_get_vod_transcoding_duration_params.py +17 -0
  126. gcore/types/streaming/statistic_get_vod_unique_viewers_cdn_params.py +26 -0
  127. gcore/types/streaming/statistic_get_vod_watch_time_cdn_params.py +32 -0
  128. gcore/types/streaming/statistic_get_vod_watch_time_total_cdn_params.py +30 -0
  129. gcore/types/streaming/statistic_get_vod_watch_time_total_cdn_response.py +22 -0
  130. gcore/types/streaming/storage_series.py +23 -0
  131. gcore/types/streaming/stream.py +420 -0
  132. gcore/types/streaming/stream_create_clip_params.py +48 -0
  133. gcore/types/streaming/stream_create_params.py +165 -0
  134. gcore/types/streaming/stream_list_clips_response.py +10 -0
  135. gcore/types/streaming/stream_list_params.py +18 -0
  136. gcore/types/streaming/stream_series.py +21 -0
  137. gcore/types/streaming/stream_start_recording_response.py +76 -0
  138. gcore/types/streaming/stream_update_params.py +169 -0
  139. gcore/types/streaming/streams/__init__.py +11 -0
  140. gcore/types/streaming/streams/overlay.py +43 -0
  141. gcore/types/streaming/streams/overlay_create_params.py +36 -0
  142. gcore/types/streaming/streams/overlay_create_response.py +10 -0
  143. gcore/types/streaming/streams/overlay_list_response.py +10 -0
  144. gcore/types/streaming/streams/overlay_update_multiple_params.py +39 -0
  145. gcore/types/streaming/streams/overlay_update_multiple_response.py +10 -0
  146. gcore/types/streaming/streams/overlay_update_params.py +33 -0
  147. gcore/types/streaming/subtitle.py +12 -0
  148. gcore/types/streaming/subtitle_base.py +18 -0
  149. gcore/types/streaming/subtitle_base_param.py +18 -0
  150. gcore/types/streaming/unique_viewers.py +35 -0
  151. gcore/types/streaming/unique_viewers_cdn.py +17 -0
  152. gcore/types/streaming/video.py +444 -0
  153. gcore/types/streaming/video_create_multiple_params.py +28 -0
  154. gcore/types/streaming/video_create_multiple_response.py +10 -0
  155. gcore/types/streaming/video_create_params.py +13 -0
  156. gcore/types/streaming/video_create_response.py +10 -0
  157. gcore/types/streaming/video_list_names_params.py +13 -0
  158. gcore/types/streaming/video_list_params.py +59 -0
  159. gcore/types/streaming/video_update_params.py +214 -0
  160. gcore/types/streaming/videos/__init__.py +7 -0
  161. gcore/types/streaming/videos/subtitle_create_params.py +17 -0
  162. gcore/types/streaming/videos/subtitle_list_response.py +10 -0
  163. gcore/types/streaming/videos/subtitle_update_params.py +20 -0
  164. gcore/types/streaming/views.py +35 -0
  165. gcore/types/streaming/views_by_browser.py +17 -0
  166. gcore/types/streaming/views_by_country.py +19 -0
  167. gcore/types/streaming/views_by_hostname.py +17 -0
  168. gcore/types/streaming/views_by_operating_system.py +17 -0
  169. gcore/types/streaming/views_by_referer.py +17 -0
  170. gcore/types/streaming/views_by_region.py +19 -0
  171. gcore/types/streaming/views_heatmap.py +19 -0
  172. gcore/types/streaming/vod_statistics_series.py +21 -0
  173. gcore/types/streaming/vod_total_stream_duration_series.py +22 -0
  174. gcore/types/waap/domains/custom_rule_create_params.py +4 -4
  175. gcore/types/waap/domains/custom_rule_update_params.py +4 -4
  176. gcore/types/waap/ip_info_get_blocked_requests_params.py +5 -1
  177. gcore/types/waap/ip_info_get_counts_params.py +2 -1
  178. gcore/types/waap/ip_info_get_top_sessions_params.py +5 -1
  179. gcore/types/waap/ip_info_get_top_urls_params.py +5 -1
  180. gcore/types/waap/ip_info_get_top_user_agents_params.py +5 -1
  181. gcore/types/waap/waap_custom_rule.py +4 -4
  182. {gcore-0.6.0.dist-info → gcore-0.8.0.dist-info}/METADATA +1 -1
  183. {gcore-0.6.0.dist-info → gcore-0.8.0.dist-info}/RECORD +185 -37
  184. {gcore-0.6.0.dist-info → gcore-0.8.0.dist-info}/WHEEL +0 -0
  185. {gcore-0.6.0.dist-info → gcore-0.8.0.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,1612 @@
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
+ "UsageReport",
12
+ "Resource",
13
+ "ResourceResourceAIClusterSerializer",
14
+ "ResourceResourceAIVirtualClusterSerializer",
15
+ "ResourceResourceBaremetalSerializer",
16
+ "ResourceResourceBasicVmSerializer",
17
+ "ResourceResourceBackupSerializer",
18
+ "ResourceResourceContainerSerializer",
19
+ "ResourceResourceEgressTrafficSerializer",
20
+ "ResourceResourceExternalIPSerializer",
21
+ "ResourceResourceFileShareSerializer",
22
+ "ResourceResourceFloatingIPSerializer",
23
+ "ResourceResourceFunctionsSerializer",
24
+ "ResourceResourceFunctionCallsSerializer",
25
+ "ResourceResourceFunctionEgressTrafficSerializer",
26
+ "ResourceResourceImagesSerializer",
27
+ "ResourceResourceInferenceSerializer",
28
+ "ResourceResourceInstanceSerializer",
29
+ "ResourceResourceLoadBalancerSerializer",
30
+ "ResourceResourceLogIndexSerializer",
31
+ "ResourceResourceSnapshotSerializer",
32
+ "ResourceResourceVolumeSerializer",
33
+ "ResourceResourceDbaasPostgreSQLPoolerSerializer",
34
+ "ResourceResourceDbaasPostgreSQLMemorySerializer",
35
+ "ResourceResourceDbaasPostgreSQLPublicNetworkSerializer",
36
+ "ResourceResourceDbaasPostgreSqlcpuSerializer",
37
+ "ResourceResourceDbaasPostgreSQLVolumeSerializer",
38
+ "Total",
39
+ "TotalTotalAIClusterReportItemSerializer",
40
+ "TotalTotalAIVirtualClusterReportItemSerializer",
41
+ "TotalTotalBaremetalReportItemSerializer",
42
+ "TotalTotalBasicVmReportItemSerializer",
43
+ "TotalTotalContainerReportItemSerializer",
44
+ "TotalTotalEgressTrafficReportItemSerializer",
45
+ "TotalTotalExternalIPReportItemSerializer",
46
+ "TotalTotalFileShareReportItemSerializer",
47
+ "TotalTotalFloatingIPReportItemSerializer",
48
+ "TotalTotalFunctionsReportItemSerializer",
49
+ "TotalTotalFunctionCallsReportItemSerializer",
50
+ "TotalTotalFunctionEgressTrafficReportItemSerializer",
51
+ "TotalTotalImagesReportItemSerializer",
52
+ "TotalTotalInferenceReportItemSerializer",
53
+ "TotalTotalInstanceReportItemSerializer",
54
+ "TotalTotalLoadBalancerReportItemSerializer",
55
+ "TotalTotalLogIndexReportItemSerializer",
56
+ "TotalTotalSnapshotReportItemSerializer",
57
+ "TotalTotalVolumeReportItemSerializer",
58
+ "TotalTotalDbaasPostgreSQLPoolerReportItemSerializer",
59
+ "TotalTotalDbaasPostgreSQLMemoryReportItemSerializer",
60
+ "TotalTotalDbaasPostgreSQLPublicNetworkReportItemSerializer",
61
+ "TotalTotalDbaasPostgreSqlcpuReportItemSerializer",
62
+ "TotalTotalDbaasPostgreSQLVolumeReportItemSerializer",
63
+ ]
64
+
65
+
66
+ class ResourceResourceAIClusterSerializer(BaseModel):
67
+ billing_metric_name: str
68
+ """Name of the billing metric"""
69
+
70
+ billing_value: float
71
+ """Value of the billing metric"""
72
+
73
+ billing_value_unit: Literal["minutes"]
74
+ """Unit of billing value"""
75
+
76
+ first_seen: datetime
77
+ """First time the resource was seen in the given period"""
78
+
79
+ flavor: str
80
+ """Flavor of the Baremetal GPU cluster"""
81
+
82
+ last_name: str
83
+ """Name of the AI cluster"""
84
+
85
+ last_seen: datetime
86
+ """Last time the resource was seen in the given period"""
87
+
88
+ project_id: int
89
+ """ID of the project the resource belongs to"""
90
+
91
+ region: int
92
+ """Region ID"""
93
+
94
+ region_id: int
95
+ """Region ID"""
96
+
97
+ tags: Optional[List[Dict[str, str]]] = None
98
+ """List of tags"""
99
+
100
+ type: Literal["ai_cluster"]
101
+
102
+ uuid: str
103
+ """UUID of the Baremetal GPU cluster"""
104
+
105
+
106
+ class ResourceResourceAIVirtualClusterSerializer(BaseModel):
107
+ billing_metric_name: str
108
+ """Name of the billing metric"""
109
+
110
+ billing_value: float
111
+ """Value of the billing metric"""
112
+
113
+ billing_value_unit: Literal["minutes"]
114
+ """Unit of billing value"""
115
+
116
+ first_seen: datetime
117
+ """First time the resource was seen in the given period"""
118
+
119
+ flavor: str
120
+ """Flavor of the Virtual GPU cluster"""
121
+
122
+ last_name: str
123
+ """Name of the AI cluster"""
124
+
125
+ last_seen: datetime
126
+ """Last time the resource was seen in the given period"""
127
+
128
+ project_id: int
129
+ """ID of the project the resource belongs to"""
130
+
131
+ region: int
132
+ """Region ID"""
133
+
134
+ region_id: int
135
+ """Region ID"""
136
+
137
+ tags: Optional[List[Dict[str, str]]] = None
138
+ """List of tags"""
139
+
140
+ type: Literal["ai_virtual_cluster"]
141
+
142
+ uuid: str
143
+ """UUID of the Virtual GPU cluster"""
144
+
145
+
146
+ class ResourceResourceBaremetalSerializer(BaseModel):
147
+ billing_metric_name: str
148
+ """Name of the billing metric"""
149
+
150
+ billing_value: float
151
+ """Value of the billing metric"""
152
+
153
+ billing_value_unit: Literal["minutes"]
154
+ """Unit of billing value"""
155
+
156
+ first_seen: datetime
157
+ """First time the resource was seen in the given period"""
158
+
159
+ flavor: str
160
+ """Flavor of the bare metal server"""
161
+
162
+ last_name: str
163
+ """Name of the bare metal server"""
164
+
165
+ last_seen: datetime
166
+ """Last time the resource was seen in the given period"""
167
+
168
+ project_id: int
169
+ """ID of the project the resource belongs to"""
170
+
171
+ region: int
172
+ """Region ID"""
173
+
174
+ region_id: int
175
+ """Region ID"""
176
+
177
+ tags: Optional[List[Dict[str, str]]] = None
178
+ """List of tags"""
179
+
180
+ type: Literal["baremetal"]
181
+
182
+ uuid: str
183
+ """UUID of the bare metal server"""
184
+
185
+
186
+ class ResourceResourceBasicVmSerializer(BaseModel):
187
+ billing_metric_name: str
188
+ """Name of the billing metric"""
189
+
190
+ billing_value: float
191
+ """Value of the billing metric"""
192
+
193
+ billing_value_unit: Literal["minutes"]
194
+ """Unit of billing value"""
195
+
196
+ first_seen: datetime
197
+ """First time the resource was seen in the given period"""
198
+
199
+ flavor: str
200
+ """Flavor of the basic VM"""
201
+
202
+ last_name: str
203
+ """Name of the basic VM"""
204
+
205
+ last_seen: datetime
206
+ """Last time the resource was seen in the given period"""
207
+
208
+ project_id: int
209
+ """ID of the project the resource belongs to"""
210
+
211
+ region: int
212
+ """Region ID"""
213
+
214
+ region_id: int
215
+ """Region ID"""
216
+
217
+ tags: Optional[List[Dict[str, str]]] = None
218
+ """List of tags"""
219
+
220
+ type: Literal["basic_vm"]
221
+
222
+ uuid: str
223
+ """UUID of the basic VM"""
224
+
225
+
226
+ class ResourceResourceBackupSerializer(BaseModel):
227
+ billing_metric_name: str
228
+ """Name of the billing metric"""
229
+
230
+ billing_value: float
231
+ """Value of the billing metric"""
232
+
233
+ billing_value_unit: Literal["gbminutes"]
234
+ """Unit of billing value"""
235
+
236
+ first_seen: datetime
237
+ """First time the resource was seen in the given period"""
238
+
239
+ last_name: str
240
+ """Name of the backup"""
241
+
242
+ last_seen: datetime
243
+ """Last time the resource was seen in the given period"""
244
+
245
+ last_size: int
246
+ """Size of the backup in bytes"""
247
+
248
+ project_id: int
249
+ """ID of the project the resource belongs to"""
250
+
251
+ region: int
252
+ """Region ID"""
253
+
254
+ region_id: int
255
+ """Region ID"""
256
+
257
+ schedule_id: str
258
+ """ID of the backup schedule"""
259
+
260
+ source_volume_uuid: str
261
+ """UUID of the source volume"""
262
+
263
+ type: Literal["backup"]
264
+
265
+ uuid: str
266
+ """UUID of the backup"""
267
+
268
+
269
+ class ResourceResourceContainerSerializer(BaseModel):
270
+ billing_metric_name: str
271
+ """Name of the billing metric"""
272
+
273
+ billing_value: float
274
+ """Value of the billing metric"""
275
+
276
+ billing_value_unit: Literal["GBS"]
277
+ """Unit of billing value"""
278
+
279
+ first_seen: datetime
280
+ """First time the resource was seen in the given period"""
281
+
282
+ last_name: str
283
+ """Name of the container"""
284
+
285
+ last_seen: datetime
286
+ """Last time the resource was seen in the given period"""
287
+
288
+ project_id: int
289
+ """ID of the project the resource belongs to"""
290
+
291
+ region: int
292
+ """Region ID"""
293
+
294
+ region_id: int
295
+ """Region ID"""
296
+
297
+ type: Literal["containers"]
298
+
299
+ uuid: str
300
+ """UUID of the container"""
301
+
302
+
303
+ class ResourceResourceEgressTrafficSerializer(BaseModel):
304
+ billing_metric_name: str
305
+ """Name of the billing metric"""
306
+
307
+ billing_value: float
308
+ """Value of the billing metric"""
309
+
310
+ billing_value_unit: Literal["bytes"]
311
+ """Unit of billing value"""
312
+
313
+ first_seen: datetime
314
+ """First time the resource was seen in the given period"""
315
+
316
+ instance_type: Literal["baremetal", "vm"]
317
+ """Type of the instance"""
318
+
319
+ last_seen: datetime
320
+ """Last time the resource was seen in the given period"""
321
+
322
+ port_id: str
323
+ """ID of the port the traffic is associated with"""
324
+
325
+ project_id: int
326
+ """ID of the project the resource belongs to"""
327
+
328
+ region: int
329
+ """Region ID"""
330
+
331
+ region_id: int
332
+ """Region ID"""
333
+
334
+ size_unit: str
335
+ """Unit of size"""
336
+
337
+ tags: Optional[List[Dict[str, str]]] = None
338
+ """List of tags"""
339
+
340
+ type: Literal["egress_traffic"]
341
+
342
+ vm_id: str
343
+ """ID of the bare metal server the traffic is associated with"""
344
+
345
+ instance_name: Optional[str] = None
346
+ """Name of the instance"""
347
+
348
+
349
+ class ResourceResourceExternalIPSerializer(BaseModel):
350
+ attached_to_vm: Optional[str] = None
351
+ """ID of the VM the IP is attached to"""
352
+
353
+ billing_metric_name: str
354
+ """Name of the billing metric"""
355
+
356
+ billing_value: float
357
+ """Value of the billing metric"""
358
+
359
+ billing_value_unit: Literal["minutes"]
360
+ """Unit of billing value"""
361
+
362
+ first_seen: datetime
363
+ """First time the resource was seen in the given period"""
364
+
365
+ ip_address: str
366
+ """IP address"""
367
+
368
+ last_seen: datetime
369
+ """Last time the resource was seen in the given period"""
370
+
371
+ network_id: str
372
+ """ID of the network the IP is attached to"""
373
+
374
+ port_id: str
375
+ """ID of the port the IP 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
+ subnet_id: str
387
+ """ID of the subnet the IP is attached to"""
388
+
389
+ type: Literal["external_ip"]
390
+
391
+
392
+ class ResourceResourceFileShareSerializer(BaseModel):
393
+ billing_metric_name: str
394
+ """Name of the billing metric"""
395
+
396
+ billing_value: float
397
+ """Value of the billing metric"""
398
+
399
+ billing_value_unit: Literal["gbminutes"]
400
+ """Unit of billing value"""
401
+
402
+ file_share_type: str
403
+ """Type of the file share"""
404
+
405
+ first_seen: datetime
406
+ """First time the resource was seen in the given period"""
407
+
408
+ last_name: str
409
+ """Name of the file share"""
410
+
411
+ last_seen: datetime
412
+ """Last time the resource was seen in the given period"""
413
+
414
+ last_size: int
415
+ """Size of the file share in bytes"""
416
+
417
+ project_id: int
418
+ """ID of the project the resource belongs to"""
419
+
420
+ region: int
421
+ """Region ID"""
422
+
423
+ region_id: int
424
+ """Region ID"""
425
+
426
+ size_unit: Literal["GiB"]
427
+ """Unit of size"""
428
+
429
+ tags: Optional[List[Dict[str, str]]] = None
430
+ """List of tags"""
431
+
432
+ type: Literal["file_share"]
433
+
434
+ uuid: str
435
+ """UUID of the file share"""
436
+
437
+
438
+ class ResourceResourceFloatingIPSerializer(BaseModel):
439
+ billing_metric_name: str
440
+ """Name of the billing metric"""
441
+
442
+ billing_value: float
443
+ """Value of the billing metric"""
444
+
445
+ billing_value_unit: Literal["minutes"]
446
+ """Unit of billing value"""
447
+
448
+ first_seen: datetime
449
+ """First time the resource was seen in the given period"""
450
+
451
+ ip_address: str
452
+ """IP address"""
453
+
454
+ last_name: str
455
+ """Name of the floating IP"""
456
+
457
+ last_seen: datetime
458
+ """Last time the resource was seen in the given period"""
459
+
460
+ project_id: int
461
+ """ID of the project the resource belongs to"""
462
+
463
+ region: int
464
+ """Region ID"""
465
+
466
+ region_id: int
467
+ """Region ID"""
468
+
469
+ tags: Optional[List[Dict[str, str]]] = None
470
+ """List of tags"""
471
+
472
+ type: Literal["floatingip"]
473
+
474
+ uuid: str
475
+ """UUID of the floating IP"""
476
+
477
+
478
+ class ResourceResourceFunctionsSerializer(BaseModel):
479
+ billing_metric_name: str
480
+ """Name of the billing metric"""
481
+
482
+ billing_value: float
483
+ """Value of the billing metric"""
484
+
485
+ billing_value_unit: Literal["GBS"]
486
+ """Unit of billing value"""
487
+
488
+ first_seen: datetime
489
+ """First time the resource was seen in the given period"""
490
+
491
+ last_name: str
492
+ """Name of the function"""
493
+
494
+ last_seen: datetime
495
+ """Last time the resource was seen in the given period"""
496
+
497
+ project_id: int
498
+ """ID of the project the resource belongs to"""
499
+
500
+ region: int
501
+ """Region ID"""
502
+
503
+ region_id: int
504
+ """Region ID"""
505
+
506
+ type: Literal["functions"]
507
+
508
+ uuid: str
509
+ """UUID of the function"""
510
+
511
+
512
+ class ResourceResourceFunctionCallsSerializer(BaseModel):
513
+ billing_metric_name: str
514
+ """Name of the billing metric"""
515
+
516
+ billing_value: float
517
+ """Value of the billing metric"""
518
+
519
+ billing_value_unit: Literal["MLS"]
520
+ """Unit of billing value"""
521
+
522
+ first_seen: datetime
523
+ """First time the resource was seen in the given period"""
524
+
525
+ last_name: str
526
+ """Name of the function call"""
527
+
528
+ last_seen: datetime
529
+ """Last time the resource was seen in the given period"""
530
+
531
+ project_id: int
532
+ """ID of the project the resource belongs to"""
533
+
534
+ region: int
535
+ """Region ID"""
536
+
537
+ region_id: int
538
+ """Region ID"""
539
+
540
+ type: Literal["functions_calls"]
541
+
542
+ uuid: str
543
+ """UUID of the function call"""
544
+
545
+
546
+ class ResourceResourceFunctionEgressTrafficSerializer(BaseModel):
547
+ billing_metric_name: str
548
+ """Name of the billing metric"""
549
+
550
+ billing_value: float
551
+ """Value of the billing metric"""
552
+
553
+ billing_value_unit: Literal["GB"]
554
+ """Unit of billing value"""
555
+
556
+ first_seen: datetime
557
+ """First time the resource was seen in the given period"""
558
+
559
+ last_name: str
560
+ """Name of the function egress traffic"""
561
+
562
+ last_seen: datetime
563
+ """Last time the resource was seen in the given period"""
564
+
565
+ project_id: int
566
+ """ID of the project the resource belongs to"""
567
+
568
+ region: int
569
+ """Region ID"""
570
+
571
+ region_id: int
572
+ """Region ID"""
573
+
574
+ type: Literal["functions_traffic"]
575
+
576
+ uuid: str
577
+ """UUID of the function egress traffic"""
578
+
579
+
580
+ class ResourceResourceImagesSerializer(BaseModel):
581
+ billing_metric_name: str
582
+ """Name of the billing metric"""
583
+
584
+ billing_value: float
585
+ """Value of the billing metric"""
586
+
587
+ billing_value_unit: Literal["gbminutes"]
588
+ """Unit of billing value"""
589
+
590
+ first_seen: datetime
591
+ """First time the resource was seen in the given period"""
592
+
593
+ last_name: str
594
+ """Name of the image"""
595
+
596
+ last_seen: datetime
597
+ """Last time the resource was seen in the given period"""
598
+
599
+ last_size: int
600
+ """Size of the image in bytes"""
601
+
602
+ project_id: int
603
+ """ID of the project the resource belongs to"""
604
+
605
+ region: int
606
+ """Region ID"""
607
+
608
+ region_id: int
609
+ """Region ID"""
610
+
611
+ size_unit: Literal["bytes"]
612
+ """Unit of size"""
613
+
614
+ tags: Optional[List[Dict[str, str]]] = None
615
+ """List of tags"""
616
+
617
+ type: Literal["image"]
618
+
619
+ uuid: str
620
+ """UUID of the image"""
621
+
622
+
623
+ class ResourceResourceInferenceSerializer(BaseModel):
624
+ billing_metric_name: str
625
+ """Name of the billing metric"""
626
+
627
+ billing_value: float
628
+ """Value of the billing metric"""
629
+
630
+ billing_value_unit: str
631
+ """Unit of billing value"""
632
+
633
+ first_seen: datetime
634
+ """First time the resource was seen in the given period"""
635
+
636
+ flavor: str
637
+ """Flavor of the inference deployment"""
638
+
639
+ last_name: str
640
+ """Name of the inference deployment"""
641
+
642
+ last_seen: datetime
643
+ """Last time the resource was seen in the given period"""
644
+
645
+ project_id: int
646
+ """ID of the project the resource belongs to"""
647
+
648
+ region: int
649
+ """Region ID"""
650
+
651
+ region_id: int
652
+ """Region ID"""
653
+
654
+ type: Literal["inference"]
655
+
656
+ uuid: str
657
+ """UUID of the inference deployment"""
658
+
659
+
660
+ class ResourceResourceInstanceSerializer(BaseModel):
661
+ billing_metric_name: str
662
+ """Name of the billing metric"""
663
+
664
+ billing_value: float
665
+ """Value of the billing metric"""
666
+
667
+ billing_value_unit: Literal["minutes"]
668
+ """Unit of billing value"""
669
+
670
+ first_seen: datetime
671
+ """First time the resource was seen in the given period"""
672
+
673
+ flavor: str
674
+ """Flavor of the instance"""
675
+
676
+ last_name: str
677
+ """Name of the instance"""
678
+
679
+ last_seen: datetime
680
+ """Last time the resource was seen in the given period"""
681
+
682
+ project_id: int
683
+ """ID of the project the resource belongs to"""
684
+
685
+ region: int
686
+ """Region ID"""
687
+
688
+ region_id: int
689
+ """Region ID"""
690
+
691
+ tags: Optional[List[Dict[str, str]]] = None
692
+ """List of tags"""
693
+
694
+ type: Literal["instance"]
695
+
696
+ uuid: str
697
+ """UUID of the instance"""
698
+
699
+
700
+ class ResourceResourceLoadBalancerSerializer(BaseModel):
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["minutes"]
708
+ """Unit of billing value"""
709
+
710
+ first_seen: datetime
711
+ """First time the resource was seen in the given period"""
712
+
713
+ flavor: str
714
+ """Flavor of the load balancer"""
715
+
716
+ last_name: str
717
+ """Name of the load balancer"""
718
+
719
+ last_seen: datetime
720
+ """Last time the resource was seen in the given period"""
721
+
722
+ project_id: int
723
+ """ID of the project the resource belongs to"""
724
+
725
+ region: int
726
+ """Region ID"""
727
+
728
+ region_id: int
729
+ """Region ID"""
730
+
731
+ tags: Optional[List[Dict[str, str]]] = None
732
+ """List of tags"""
733
+
734
+ type: Literal["load_balancer"]
735
+
736
+ uuid: str
737
+ """UUID of the load balancer"""
738
+
739
+
740
+ class ResourceResourceLogIndexSerializer(BaseModel):
741
+ billing_metric_name: str
742
+ """Name of the billing metric"""
743
+
744
+ billing_value: float
745
+ """Value of the billing metric"""
746
+
747
+ billing_value_unit: Literal["gbminutes"]
748
+ """Unit of billing value"""
749
+
750
+ first_seen: datetime
751
+ """First time the resource was seen in the given period"""
752
+
753
+ last_name: str
754
+ """Name of the log index"""
755
+
756
+ last_seen: datetime
757
+ """Last time the resource was seen in the given period"""
758
+
759
+ last_size: int
760
+ """Size of the log index in bytes"""
761
+
762
+ project_id: int
763
+ """ID of the project the resource belongs to"""
764
+
765
+ region: int
766
+ """Region ID"""
767
+
768
+ region_id: int
769
+ """Region ID"""
770
+
771
+ size_unit: str
772
+ """Unit of size"""
773
+
774
+ type: Literal["log_index"]
775
+
776
+ uuid: Optional[str] = None
777
+ """UUID of the log index"""
778
+
779
+
780
+ class ResourceResourceSnapshotSerializer(BaseModel):
781
+ billing_metric_name: str
782
+ """Name of the billing metric"""
783
+
784
+ billing_value: float
785
+ """Value of the billing metric"""
786
+
787
+ billing_value_unit: Literal["gbminutes"]
788
+ """Unit of billing value"""
789
+
790
+ first_seen: datetime
791
+ """First time the resource was seen in the given period"""
792
+
793
+ last_name: str
794
+ """Name of the snapshot"""
795
+
796
+ last_seen: datetime
797
+ """Last time the resource was seen in the given period"""
798
+
799
+ last_size: int
800
+ """Size of the snapshot in bytes"""
801
+
802
+ project_id: int
803
+ """ID of the project the resource belongs to"""
804
+
805
+ region: int
806
+ """Region ID"""
807
+
808
+ region_id: int
809
+ """Region ID"""
810
+
811
+ size_unit: str
812
+ """Unit of size"""
813
+
814
+ source_volume_uuid: str
815
+ """UUID of the source volume"""
816
+
817
+ tags: Optional[List[Dict[str, str]]] = None
818
+ """List of tags"""
819
+
820
+ type: Literal["snapshot"]
821
+
822
+ uuid: str
823
+ """UUID of the snapshot"""
824
+
825
+ volume_type: str
826
+ """Type of the volume"""
827
+
828
+
829
+ class ResourceResourceVolumeSerializer(BaseModel):
830
+ billing_metric_name: str
831
+ """Name of the billing metric"""
832
+
833
+ billing_value: float
834
+ """Value of the billing metric"""
835
+
836
+ billing_value_unit: Literal["gbminutes"]
837
+ """Unit of billing value"""
838
+
839
+ first_seen: datetime
840
+ """First time the resource was seen in the given period"""
841
+
842
+ last_name: str
843
+ """Name of the volume"""
844
+
845
+ last_seen: datetime
846
+ """Last time the resource was seen in the given period"""
847
+
848
+ last_size: int
849
+ """Size of the volume in bytes"""
850
+
851
+ project_id: int
852
+ """ID of the project the resource belongs to"""
853
+
854
+ region: int
855
+ """Region ID"""
856
+
857
+ region_id: int
858
+ """Region ID"""
859
+
860
+ size_unit: str
861
+ """Unit of size"""
862
+
863
+ tags: Optional[List[Dict[str, str]]] = None
864
+ """List of tags"""
865
+
866
+ type: Literal["volume"]
867
+
868
+ uuid: str
869
+ """UUID of the volume"""
870
+
871
+ volume_type: str
872
+ """Type of the volume"""
873
+
874
+ attached_to_vm: Optional[str] = None
875
+ """ID of the VM the volume is attached to"""
876
+
877
+
878
+ class ResourceResourceDbaasPostgreSQLPoolerSerializer(BaseModel):
879
+ billing_metric_name: str
880
+ """Name of the billing metric"""
881
+
882
+ billing_value: float
883
+ """Value of the billing metric"""
884
+
885
+ billing_value_unit: Literal["minutes"]
886
+ """Unit of billing value"""
887
+
888
+ first_seen: datetime
889
+ """First time the resource was seen in the given period"""
890
+
891
+ last_name: str
892
+ """Name of the cluster"""
893
+
894
+ last_seen: datetime
895
+ """Last time the resource was seen in the given period"""
896
+
897
+ project_id: int
898
+ """ID of the project the resource belongs to"""
899
+
900
+ region: int
901
+ """Region ID"""
902
+
903
+ region_id: int
904
+ """Region ID"""
905
+
906
+ type: Literal["dbaas_postgresql_connection_pooler"]
907
+
908
+ uuid: str
909
+ """UUID of the cluster"""
910
+
911
+
912
+ class ResourceResourceDbaasPostgreSQLMemorySerializer(BaseModel):
913
+ billing_metric_name: str
914
+ """Name of the billing metric"""
915
+
916
+ billing_value: float
917
+ """Value of the billing metric"""
918
+
919
+ billing_value_unit: Literal["gbminutes"]
920
+ """Unit of billing value"""
921
+
922
+ first_seen: datetime
923
+ """First time the resource was seen in the given period"""
924
+
925
+ last_name: str
926
+ """Name of the cluster"""
927
+
928
+ last_seen: datetime
929
+ """Last time the resource was seen in the given period"""
930
+
931
+ project_id: int
932
+ """ID of the project the resource belongs to"""
933
+
934
+ region: int
935
+ """Region ID"""
936
+
937
+ region_id: int
938
+ """Region ID"""
939
+
940
+ type: Literal["dbaas_postgresql_memory"]
941
+
942
+ uuid: str
943
+ """UUID of the cluster"""
944
+
945
+
946
+ class ResourceResourceDbaasPostgreSQLPublicNetworkSerializer(BaseModel):
947
+ billing_metric_name: str
948
+ """Name of the billing metric"""
949
+
950
+ billing_value: float
951
+ """Value of the billing metric"""
952
+
953
+ billing_value_unit: Literal["minutes"]
954
+ """Unit of billing value"""
955
+
956
+ first_seen: datetime
957
+ """First time the resource was seen in the given period"""
958
+
959
+ last_name: str
960
+ """Name of the cluster"""
961
+
962
+ last_seen: datetime
963
+ """Last time the resource was seen in the given period"""
964
+
965
+ project_id: int
966
+ """ID of the project the resource belongs to"""
967
+
968
+ region: int
969
+ """Region ID"""
970
+
971
+ region_id: int
972
+ """Region ID"""
973
+
974
+ type: Literal["dbaas_postgresql_public_network"]
975
+
976
+ uuid: str
977
+ """UUID of the cluster"""
978
+
979
+
980
+ class ResourceResourceDbaasPostgreSqlcpuSerializer(BaseModel):
981
+ billing_metric_name: str
982
+ """Name of the billing metric"""
983
+
984
+ billing_value: float
985
+ """Value of the billing metric"""
986
+
987
+ billing_value_unit: Literal["minutes"]
988
+ """Unit of billing value"""
989
+
990
+ first_seen: datetime
991
+ """First time the resource was seen in the given period"""
992
+
993
+ last_name: str
994
+ """Name of the cluster"""
995
+
996
+ last_seen: datetime
997
+ """Last time the resource was seen in the given period"""
998
+
999
+ project_id: int
1000
+ """ID of the project the resource belongs to"""
1001
+
1002
+ region: int
1003
+ """Region ID"""
1004
+
1005
+ region_id: int
1006
+ """Region ID"""
1007
+
1008
+ type: Literal["dbaas_postgresql_cpu"]
1009
+
1010
+ uuid: str
1011
+ """UUID of the cluster"""
1012
+
1013
+
1014
+ class ResourceResourceDbaasPostgreSQLVolumeSerializer(BaseModel):
1015
+ billing_metric_name: str
1016
+ """Name of the billing metric"""
1017
+
1018
+ billing_value: float
1019
+ """Value of the billing metric"""
1020
+
1021
+ billing_value_unit: Literal["gbminutes"]
1022
+ """Unit of billing value"""
1023
+
1024
+ first_seen: datetime
1025
+ """First time the resource was seen in the given period"""
1026
+
1027
+ last_name: str
1028
+ """Name of the cluster"""
1029
+
1030
+ last_seen: datetime
1031
+ """Last time the resource was seen in the given period"""
1032
+
1033
+ project_id: int
1034
+ """ID of the project the resource belongs to"""
1035
+
1036
+ region: int
1037
+ """Region ID"""
1038
+
1039
+ region_id: int
1040
+ """Region ID"""
1041
+
1042
+ size_unit: str
1043
+ """Unit of size"""
1044
+
1045
+ type: Literal["dbaas_postgresql_volume"]
1046
+
1047
+ uuid: str
1048
+ """UUID of the cluster"""
1049
+
1050
+ volume_type: str
1051
+ """Type of the volume"""
1052
+
1053
+
1054
+ Resource: TypeAlias = Annotated[
1055
+ Union[
1056
+ ResourceResourceAIClusterSerializer,
1057
+ ResourceResourceAIVirtualClusterSerializer,
1058
+ ResourceResourceBaremetalSerializer,
1059
+ ResourceResourceBasicVmSerializer,
1060
+ ResourceResourceBackupSerializer,
1061
+ ResourceResourceContainerSerializer,
1062
+ ResourceResourceEgressTrafficSerializer,
1063
+ ResourceResourceExternalIPSerializer,
1064
+ ResourceResourceFileShareSerializer,
1065
+ ResourceResourceFloatingIPSerializer,
1066
+ ResourceResourceFunctionsSerializer,
1067
+ ResourceResourceFunctionCallsSerializer,
1068
+ ResourceResourceFunctionEgressTrafficSerializer,
1069
+ ResourceResourceImagesSerializer,
1070
+ ResourceResourceInferenceSerializer,
1071
+ ResourceResourceInstanceSerializer,
1072
+ ResourceResourceLoadBalancerSerializer,
1073
+ ResourceResourceLogIndexSerializer,
1074
+ ResourceResourceSnapshotSerializer,
1075
+ ResourceResourceVolumeSerializer,
1076
+ ResourceResourceDbaasPostgreSQLPoolerSerializer,
1077
+ ResourceResourceDbaasPostgreSQLMemorySerializer,
1078
+ ResourceResourceDbaasPostgreSQLPublicNetworkSerializer,
1079
+ ResourceResourceDbaasPostgreSqlcpuSerializer,
1080
+ ResourceResourceDbaasPostgreSQLVolumeSerializer,
1081
+ ],
1082
+ PropertyInfo(discriminator="type"),
1083
+ ]
1084
+
1085
+
1086
+ class TotalTotalAIClusterReportItemSerializer(BaseModel):
1087
+ billing_metric_name: str
1088
+ """Name of the billing metric"""
1089
+
1090
+ billing_value: float
1091
+ """Value of the billing metric"""
1092
+
1093
+ billing_value_unit: Literal["minutes"]
1094
+ """Unit of billing value"""
1095
+
1096
+ flavor: str
1097
+ """Flavor of the Baremetal GPU cluster"""
1098
+
1099
+ region: int
1100
+ """Region ID"""
1101
+
1102
+ region_id: int
1103
+ """Region ID"""
1104
+
1105
+ type: Literal["ai_cluster"]
1106
+
1107
+
1108
+ class TotalTotalAIVirtualClusterReportItemSerializer(BaseModel):
1109
+ billing_metric_name: str
1110
+ """Name of the billing metric"""
1111
+
1112
+ billing_value: float
1113
+ """Value of the billing metric"""
1114
+
1115
+ billing_value_unit: Literal["minutes"]
1116
+ """Unit of billing value"""
1117
+
1118
+ flavor: str
1119
+ """Flavor of the Virtual GPU cluster"""
1120
+
1121
+ region: int
1122
+ """Region ID"""
1123
+
1124
+ region_id: int
1125
+ """Region ID"""
1126
+
1127
+ type: Literal["ai_virtual_cluster"]
1128
+
1129
+
1130
+ class TotalTotalBaremetalReportItemSerializer(BaseModel):
1131
+ billing_metric_name: str
1132
+ """Name of the billing metric"""
1133
+
1134
+ billing_value: float
1135
+ """Value of the billing metric"""
1136
+
1137
+ billing_value_unit: Literal["minutes"]
1138
+ """Unit of billing value"""
1139
+
1140
+ flavor: str
1141
+ """Flavor of the bare metal server"""
1142
+
1143
+ region: int
1144
+ """Region ID"""
1145
+
1146
+ region_id: int
1147
+ """Region ID"""
1148
+
1149
+ type: Literal["baremetal"]
1150
+
1151
+
1152
+ class TotalTotalBasicVmReportItemSerializer(BaseModel):
1153
+ billing_metric_name: str
1154
+ """Name of the billing metric"""
1155
+
1156
+ billing_value: float
1157
+ """Value of the billing metric"""
1158
+
1159
+ billing_value_unit: Literal["minutes"]
1160
+ """Unit of billing value"""
1161
+
1162
+ flavor: str
1163
+ """Flavor of the basic VM"""
1164
+
1165
+ region: int
1166
+ """Region ID"""
1167
+
1168
+ region_id: int
1169
+ """Region ID"""
1170
+
1171
+ type: Literal["basic_vm"]
1172
+
1173
+
1174
+ class TotalTotalContainerReportItemSerializer(BaseModel):
1175
+ billing_metric_name: str
1176
+ """Name of the billing metric"""
1177
+
1178
+ billing_value: float
1179
+ """Value of the billing metric"""
1180
+
1181
+ billing_value_unit: Literal["GBS"]
1182
+ """Unit of billing value"""
1183
+
1184
+ region: int
1185
+ """Region ID"""
1186
+
1187
+ region_id: int
1188
+ """Region ID"""
1189
+
1190
+ type: Literal["containers"]
1191
+
1192
+
1193
+ class TotalTotalEgressTrafficReportItemSerializer(BaseModel):
1194
+ billing_metric_name: str
1195
+ """Name of the billing metric"""
1196
+
1197
+ billing_value: float
1198
+ """Value of the billing metric"""
1199
+
1200
+ billing_value_unit: Literal["bytes"]
1201
+ """Unit of billing value"""
1202
+
1203
+ instance_type: Literal["baremetal", "vm"]
1204
+ """Type of the instance"""
1205
+
1206
+ region: int
1207
+ """Region ID"""
1208
+
1209
+ region_id: int
1210
+ """Region ID"""
1211
+
1212
+ type: Literal["egress_traffic"]
1213
+
1214
+
1215
+ class TotalTotalExternalIPReportItemSerializer(BaseModel):
1216
+ billing_metric_name: str
1217
+ """Name of the billing metric"""
1218
+
1219
+ billing_value: float
1220
+ """Value of the billing metric"""
1221
+
1222
+ billing_value_unit: Literal["minutes"]
1223
+ """Unit of billing value"""
1224
+
1225
+ region: int
1226
+ """Region ID"""
1227
+
1228
+ region_id: int
1229
+ """Region ID"""
1230
+
1231
+ type: Literal["external_ip"]
1232
+
1233
+
1234
+ class TotalTotalFileShareReportItemSerializer(BaseModel):
1235
+ billing_metric_name: str
1236
+ """Name of the billing metric"""
1237
+
1238
+ billing_value: float
1239
+ """Value of the billing metric"""
1240
+
1241
+ billing_value_unit: Literal["gbminutes"]
1242
+ """Unit of billing value"""
1243
+
1244
+ file_share_type: str
1245
+ """Type of the file share"""
1246
+
1247
+ region: int
1248
+ """Region ID"""
1249
+
1250
+ region_id: int
1251
+ """Region ID"""
1252
+
1253
+ type: Literal["file_share"]
1254
+
1255
+
1256
+ class TotalTotalFloatingIPReportItemSerializer(BaseModel):
1257
+ billing_metric_name: str
1258
+ """Name of the billing metric"""
1259
+
1260
+ billing_value: float
1261
+ """Value of the billing metric"""
1262
+
1263
+ billing_value_unit: Literal["minutes"]
1264
+ """Unit of billing value"""
1265
+
1266
+ region: int
1267
+ """Region ID"""
1268
+
1269
+ region_id: int
1270
+ """Region ID"""
1271
+
1272
+ type: Literal["floatingip"]
1273
+
1274
+
1275
+ class TotalTotalFunctionsReportItemSerializer(BaseModel):
1276
+ billing_metric_name: str
1277
+ """Name of the billing metric"""
1278
+
1279
+ billing_value: float
1280
+ """Value of the billing metric"""
1281
+
1282
+ billing_value_unit: Literal["GBS"]
1283
+ """Unit of billing value"""
1284
+
1285
+ region: int
1286
+ """Region ID"""
1287
+
1288
+ region_id: int
1289
+ """Region ID"""
1290
+
1291
+ type: Literal["functions"]
1292
+
1293
+
1294
+ class TotalTotalFunctionCallsReportItemSerializer(BaseModel):
1295
+ billing_metric_name: str
1296
+ """Name of the billing metric"""
1297
+
1298
+ billing_value: float
1299
+ """Value of the billing metric"""
1300
+
1301
+ billing_value_unit: Literal["MLS"]
1302
+ """Unit of billing value"""
1303
+
1304
+ region: int
1305
+ """Region ID"""
1306
+
1307
+ region_id: int
1308
+ """Region ID"""
1309
+
1310
+ type: Literal["functions_calls"]
1311
+
1312
+
1313
+ class TotalTotalFunctionEgressTrafficReportItemSerializer(BaseModel):
1314
+ billing_metric_name: str
1315
+ """Name of the billing metric"""
1316
+
1317
+ billing_value: float
1318
+ """Value of the billing metric"""
1319
+
1320
+ billing_value_unit: Literal["GB"]
1321
+ """Unit of billing value"""
1322
+
1323
+ region: int
1324
+ """Region ID"""
1325
+
1326
+ region_id: int
1327
+ """Region ID"""
1328
+
1329
+ type: Literal["functions_traffic"]
1330
+
1331
+
1332
+ class TotalTotalImagesReportItemSerializer(BaseModel):
1333
+ billing_metric_name: str
1334
+ """Name of the billing metric"""
1335
+
1336
+ billing_value: float
1337
+ """Value of the billing metric"""
1338
+
1339
+ billing_value_unit: Literal["gbminutes"]
1340
+ """Unit of billing value"""
1341
+
1342
+ region: int
1343
+ """Region ID"""
1344
+
1345
+ region_id: int
1346
+ """Region ID"""
1347
+
1348
+ type: Literal["image"]
1349
+
1350
+
1351
+ class TotalTotalInferenceReportItemSerializer(BaseModel):
1352
+ billing_metric_name: str
1353
+ """Name of the billing metric"""
1354
+
1355
+ billing_value: float
1356
+ """Value of the billing metric"""
1357
+
1358
+ billing_value_unit: str
1359
+ """Unit of billing value"""
1360
+
1361
+ region: int
1362
+ """Region ID"""
1363
+
1364
+ region_id: int
1365
+ """Region ID"""
1366
+
1367
+ type: Literal["inference"]
1368
+
1369
+
1370
+ class TotalTotalInstanceReportItemSerializer(BaseModel):
1371
+ billing_metric_name: str
1372
+ """Name of the billing metric"""
1373
+
1374
+ billing_value: float
1375
+ """Value of the billing metric"""
1376
+
1377
+ billing_value_unit: Literal["minutes"]
1378
+ """Unit of billing value"""
1379
+
1380
+ flavor: str
1381
+ """Flavor of the instance"""
1382
+
1383
+ region: int
1384
+ """Region ID"""
1385
+
1386
+ region_id: int
1387
+ """Region ID"""
1388
+
1389
+ type: Literal["instance"]
1390
+
1391
+
1392
+ class TotalTotalLoadBalancerReportItemSerializer(BaseModel):
1393
+ billing_metric_name: str
1394
+ """Name of the billing metric"""
1395
+
1396
+ billing_value: float
1397
+ """Value of the billing metric"""
1398
+
1399
+ billing_value_unit: Literal["minutes"]
1400
+ """Unit of billing value"""
1401
+
1402
+ flavor: str
1403
+ """Flavor of the load balancer"""
1404
+
1405
+ region: int
1406
+ """Region ID"""
1407
+
1408
+ region_id: int
1409
+ """Region ID"""
1410
+
1411
+ type: Literal["load_balancer"]
1412
+
1413
+
1414
+ class TotalTotalLogIndexReportItemSerializer(BaseModel):
1415
+ billing_metric_name: str
1416
+ """Name of the billing metric"""
1417
+
1418
+ billing_value: float
1419
+ """Value of the billing metric"""
1420
+
1421
+ billing_value_unit: Literal["gbminutes"]
1422
+ """Unit of billing value"""
1423
+
1424
+ region: int
1425
+ """Region ID"""
1426
+
1427
+ region_id: int
1428
+ """Region ID"""
1429
+
1430
+ type: Literal["log_index"]
1431
+
1432
+
1433
+ class TotalTotalSnapshotReportItemSerializer(BaseModel):
1434
+ billing_metric_name: str
1435
+ """Name of the billing metric"""
1436
+
1437
+ billing_value: float
1438
+ """Value of the billing metric"""
1439
+
1440
+ billing_value_unit: Literal["gbminutes"]
1441
+ """Unit of billing value"""
1442
+
1443
+ region: int
1444
+ """Region ID"""
1445
+
1446
+ region_id: int
1447
+ """Region ID"""
1448
+
1449
+ type: Literal["snapshot"]
1450
+
1451
+ volume_type: str
1452
+ """Type of the volume"""
1453
+
1454
+
1455
+ class TotalTotalVolumeReportItemSerializer(BaseModel):
1456
+ billing_metric_name: str
1457
+ """Name of the billing metric"""
1458
+
1459
+ billing_value: float
1460
+ """Value of the billing metric"""
1461
+
1462
+ billing_value_unit: Literal["gbminutes"]
1463
+ """Unit of billing value"""
1464
+
1465
+ region: int
1466
+ """Region ID"""
1467
+
1468
+ region_id: int
1469
+ """Region ID"""
1470
+
1471
+ type: Literal["volume"]
1472
+
1473
+ volume_type: str
1474
+ """Type of the volume"""
1475
+
1476
+
1477
+ class TotalTotalDbaasPostgreSQLPoolerReportItemSerializer(BaseModel):
1478
+ billing_metric_name: str
1479
+ """Name of the billing metric"""
1480
+
1481
+ billing_value: float
1482
+ """Value of the billing metric"""
1483
+
1484
+ billing_value_unit: Literal["minutes"]
1485
+ """Unit of billing value"""
1486
+
1487
+ region: int
1488
+ """Region ID"""
1489
+
1490
+ region_id: int
1491
+ """Region ID"""
1492
+
1493
+ type: Literal["dbaas_postgresql_connection_pooler"]
1494
+
1495
+
1496
+ class TotalTotalDbaasPostgreSQLMemoryReportItemSerializer(BaseModel):
1497
+ billing_metric_name: str
1498
+ """Name of the billing metric"""
1499
+
1500
+ billing_value: float
1501
+ """Value of the billing metric"""
1502
+
1503
+ billing_value_unit: Literal["gbminutes"]
1504
+ """Unit of billing value"""
1505
+
1506
+ region: int
1507
+ """Region ID"""
1508
+
1509
+ region_id: int
1510
+ """Region ID"""
1511
+
1512
+ type: Literal["dbaas_postgresql_memory"]
1513
+
1514
+
1515
+ class TotalTotalDbaasPostgreSQLPublicNetworkReportItemSerializer(BaseModel):
1516
+ billing_metric_name: str
1517
+ """Name of the billing metric"""
1518
+
1519
+ billing_value: float
1520
+ """Value of the billing metric"""
1521
+
1522
+ billing_value_unit: Literal["minutes"]
1523
+ """Unit of billing value"""
1524
+
1525
+ region: int
1526
+ """Region ID"""
1527
+
1528
+ region_id: int
1529
+ """Region ID"""
1530
+
1531
+ type: Literal["dbaas_postgresql_public_network"]
1532
+
1533
+
1534
+ class TotalTotalDbaasPostgreSqlcpuReportItemSerializer(BaseModel):
1535
+ billing_metric_name: str
1536
+ """Name of the billing metric"""
1537
+
1538
+ billing_value: float
1539
+ """Value of the billing metric"""
1540
+
1541
+ billing_value_unit: Literal["minutes"]
1542
+ """Unit of billing value"""
1543
+
1544
+ region: int
1545
+ """Region ID"""
1546
+
1547
+ region_id: int
1548
+ """Region ID"""
1549
+
1550
+ type: Literal["dbaas_postgresql_cpu"]
1551
+
1552
+
1553
+ class TotalTotalDbaasPostgreSQLVolumeReportItemSerializer(BaseModel):
1554
+ billing_metric_name: str
1555
+ """Name of the billing metric"""
1556
+
1557
+ billing_value: float
1558
+ """Value of the billing metric"""
1559
+
1560
+ billing_value_unit: Literal["gbminutes"]
1561
+ """Unit of billing value"""
1562
+
1563
+ region: int
1564
+ """Region ID"""
1565
+
1566
+ region_id: int
1567
+ """Region ID"""
1568
+
1569
+ type: Literal["dbaas_postgresql_volume"]
1570
+
1571
+ volume_type: str
1572
+ """Type of the volume"""
1573
+
1574
+
1575
+ Total: TypeAlias = Annotated[
1576
+ Union[
1577
+ TotalTotalAIClusterReportItemSerializer,
1578
+ TotalTotalAIVirtualClusterReportItemSerializer,
1579
+ TotalTotalBaremetalReportItemSerializer,
1580
+ TotalTotalBasicVmReportItemSerializer,
1581
+ TotalTotalContainerReportItemSerializer,
1582
+ TotalTotalEgressTrafficReportItemSerializer,
1583
+ TotalTotalExternalIPReportItemSerializer,
1584
+ TotalTotalFileShareReportItemSerializer,
1585
+ TotalTotalFloatingIPReportItemSerializer,
1586
+ TotalTotalFunctionsReportItemSerializer,
1587
+ TotalTotalFunctionCallsReportItemSerializer,
1588
+ TotalTotalFunctionEgressTrafficReportItemSerializer,
1589
+ TotalTotalImagesReportItemSerializer,
1590
+ TotalTotalInferenceReportItemSerializer,
1591
+ TotalTotalInstanceReportItemSerializer,
1592
+ TotalTotalLoadBalancerReportItemSerializer,
1593
+ TotalTotalLogIndexReportItemSerializer,
1594
+ TotalTotalSnapshotReportItemSerializer,
1595
+ TotalTotalVolumeReportItemSerializer,
1596
+ TotalTotalDbaasPostgreSQLPoolerReportItemSerializer,
1597
+ TotalTotalDbaasPostgreSQLMemoryReportItemSerializer,
1598
+ TotalTotalDbaasPostgreSQLPublicNetworkReportItemSerializer,
1599
+ TotalTotalDbaasPostgreSqlcpuReportItemSerializer,
1600
+ TotalTotalDbaasPostgreSQLVolumeReportItemSerializer,
1601
+ ],
1602
+ PropertyInfo(discriminator="type"),
1603
+ ]
1604
+
1605
+
1606
+ class UsageReport(BaseModel):
1607
+ count: int
1608
+ """Total count of the resources"""
1609
+
1610
+ resources: List[Resource]
1611
+
1612
+ totals: List[Total]