gcore 0.5.0__py3-none-any.whl → 0.7.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of gcore might be problematic. Click here for more details.

Files changed (200) hide show
  1. gcore/_client.py +9 -0
  2. gcore/_models.py +24 -3
  3. gcore/_version.py +1 -1
  4. gcore/pagination.py +101 -1
  5. gcore/resources/__init__.py +14 -0
  6. gcore/resources/cloud/__init__.py +42 -0
  7. gcore/resources/cloud/audit_logs.py +480 -0
  8. gcore/resources/cloud/cloud.py +96 -0
  9. gcore/resources/cloud/cost_reports.py +811 -0
  10. gcore/resources/cloud/file_shares/file_shares.py +74 -9
  11. gcore/resources/cloud/gpu_baremetal_clusters/gpu_baremetal_clusters.py +61 -26
  12. gcore/resources/cloud/inference/__init__.py +14 -0
  13. gcore/resources/cloud/inference/api_keys.py +621 -0
  14. gcore/resources/cloud/inference/inference.py +32 -0
  15. gcore/resources/cloud/inference/registry_credentials.py +4 -6
  16. gcore/resources/cloud/load_balancers/pools/members.py +22 -6
  17. gcore/resources/cloud/usage_reports.py +337 -0
  18. gcore/resources/streaming/__init__.py +159 -0
  19. gcore/resources/streaming/ai_tasks.py +1288 -0
  20. gcore/resources/streaming/broadcasts.py +579 -0
  21. gcore/resources/streaming/directories.py +515 -0
  22. gcore/resources/streaming/players.py +577 -0
  23. gcore/resources/streaming/playlists.py +1059 -0
  24. gcore/resources/streaming/quality_sets.py +331 -0
  25. gcore/resources/streaming/restreams.py +484 -0
  26. gcore/resources/streaming/statistics.py +3224 -0
  27. gcore/resources/streaming/streaming.py +390 -0
  28. gcore/resources/streaming/streams/__init__.py +33 -0
  29. gcore/resources/streaming/streams/overlays.py +716 -0
  30. gcore/resources/streaming/streams/streams.py +1592 -0
  31. gcore/resources/streaming/videos/__init__.py +33 -0
  32. gcore/resources/streaming/videos/subtitles.py +623 -0
  33. gcore/resources/streaming/videos/videos.py +1553 -0
  34. gcore/resources/waap/ip_info.py +28 -10
  35. gcore/types/cloud/__init__.py +12 -0
  36. gcore/types/cloud/audit_log_entry.py +254 -0
  37. gcore/types/cloud/audit_log_list_params.py +158 -0
  38. gcore/types/cloud/cost_report_aggregated.py +865 -0
  39. gcore/types/cloud/cost_report_aggregated_monthly.py +865 -0
  40. gcore/types/cloud/cost_report_detailed.py +1343 -0
  41. gcore/types/cloud/cost_report_get_aggregated_monthly_params.py +394 -0
  42. gcore/types/cloud/cost_report_get_aggregated_params.py +409 -0
  43. gcore/types/cloud/cost_report_get_detailed_params.py +435 -0
  44. gcore/types/cloud/file_share.py +37 -3
  45. gcore/types/cloud/file_share_create_params.py +16 -0
  46. gcore/types/cloud/file_share_update_params.py +29 -3
  47. gcore/types/cloud/gpu_baremetal_cluster.py +2 -2
  48. gcore/types/cloud/gpu_baremetal_cluster_create_params.py +9 -0
  49. gcore/types/cloud/inference/__init__.py +5 -0
  50. gcore/types/cloud/inference/api_key_create_params.py +21 -0
  51. gcore/types/cloud/inference/api_key_list_params.py +21 -0
  52. gcore/types/cloud/inference/api_key_update_params.py +16 -0
  53. gcore/types/cloud/inference/inference_api_key.py +24 -0
  54. gcore/types/cloud/inference/inference_api_key_create.py +27 -0
  55. gcore/types/cloud/load_balancer_create_params.py +14 -3
  56. gcore/types/cloud/load_balancers/pool_create_params.py +14 -3
  57. gcore/types/cloud/load_balancers/pool_update_params.py +14 -3
  58. gcore/types/cloud/load_balancers/pools/member_add_params.py +14 -3
  59. gcore/types/cloud/member.py +12 -4
  60. gcore/types/cloud/quota_get_all_response.py +24 -2
  61. gcore/types/cloud/quota_get_by_region_response.py +24 -2
  62. gcore/types/cloud/quotas/request_create_params.py +12 -1
  63. gcore/types/cloud/quotas/request_get_response.py +12 -1
  64. gcore/types/cloud/quotas/request_list_response.py +12 -1
  65. gcore/types/cloud/usage_report.py +1612 -0
  66. gcore/types/cloud/usage_report_get_params.py +432 -0
  67. gcore/types/streaming/__init__.py +143 -0
  68. gcore/types/streaming/ai_contentmoderation_casm.py +39 -0
  69. gcore/types/streaming/ai_contentmoderation_hardnudity.py +54 -0
  70. gcore/types/streaming/ai_contentmoderation_nsfw.py +39 -0
  71. gcore/types/streaming/ai_contentmoderation_softnudity.py +66 -0
  72. gcore/types/streaming/ai_contentmoderation_sport.py +39 -0
  73. gcore/types/streaming/ai_contentmoderation_weapon.py +39 -0
  74. gcore/types/streaming/ai_task.py +205 -0
  75. gcore/types/streaming/ai_task_cancel_response.py +12 -0
  76. gcore/types/streaming/ai_task_create_params.py +168 -0
  77. gcore/types/streaming/ai_task_create_response.py +10 -0
  78. gcore/types/streaming/ai_task_get_ai_settings_params.py +27 -0
  79. gcore/types/streaming/ai_task_get_ai_settings_response.py +12 -0
  80. gcore/types/streaming/ai_task_get_response.py +313 -0
  81. gcore/types/streaming/ai_task_list_params.py +50 -0
  82. gcore/types/streaming/broadcast.py +71 -0
  83. gcore/types/streaming/broadcast_create_params.py +76 -0
  84. gcore/types/streaming/broadcast_list_params.py +12 -0
  85. gcore/types/streaming/broadcast_spectators_count.py +12 -0
  86. gcore/types/streaming/broadcast_update_params.py +76 -0
  87. gcore/types/streaming/clip.py +78 -0
  88. gcore/types/streaming/create_video_param.py +214 -0
  89. gcore/types/streaming/direct_upload_parameters.py +33 -0
  90. gcore/types/streaming/directories_tree.py +19 -0
  91. gcore/types/streaming/directory_base.py +31 -0
  92. gcore/types/streaming/directory_create_params.py +15 -0
  93. gcore/types/streaming/directory_get_response.py +19 -0
  94. gcore/types/streaming/directory_item.py +13 -0
  95. gcore/types/streaming/directory_update_params.py +18 -0
  96. gcore/types/streaming/directory_video.py +13 -0
  97. gcore/types/streaming/ffprobes.py +25 -0
  98. gcore/types/streaming/max_stream_series.py +21 -0
  99. gcore/types/streaming/meet_series.py +23 -0
  100. gcore/types/streaming/player.py +114 -0
  101. gcore/types/streaming/player_create_params.py +18 -0
  102. gcore/types/streaming/player_list_params.py +12 -0
  103. gcore/types/streaming/player_param.py +114 -0
  104. gcore/types/streaming/player_update_params.py +18 -0
  105. gcore/types/streaming/playlist.py +102 -0
  106. gcore/types/streaming/playlist_create.py +12 -0
  107. gcore/types/streaming/playlist_create_params.py +102 -0
  108. gcore/types/streaming/playlist_list_params.py +12 -0
  109. gcore/types/streaming/playlist_list_videos_response.py +10 -0
  110. gcore/types/streaming/playlist_update_params.py +102 -0
  111. gcore/types/streaming/playlist_video.py +215 -0
  112. gcore/types/streaming/popular_videos.py +17 -0
  113. gcore/types/streaming/quality_set_set_default_params.py +23 -0
  114. gcore/types/streaming/quality_sets.py +57 -0
  115. gcore/types/streaming/restream.py +37 -0
  116. gcore/types/streaming/restream_create_params.py +41 -0
  117. gcore/types/streaming/restream_list_params.py +12 -0
  118. gcore/types/streaming/restream_update_params.py +41 -0
  119. gcore/types/streaming/statistic_get_ffprobes_params.py +22 -0
  120. gcore/types/streaming/statistic_get_live_unique_viewers_params.py +26 -0
  121. gcore/types/streaming/statistic_get_live_unique_viewers_response.py +25 -0
  122. gcore/types/streaming/statistic_get_live_watch_time_cdn_params.py +32 -0
  123. gcore/types/streaming/statistic_get_live_watch_time_total_cdn_params.py +30 -0
  124. gcore/types/streaming/statistic_get_max_streams_series_params.py +20 -0
  125. gcore/types/streaming/statistic_get_meet_series_params.py +20 -0
  126. gcore/types/streaming/statistic_get_popular_videos_params.py +15 -0
  127. gcore/types/streaming/statistic_get_storage_series_params.py +20 -0
  128. gcore/types/streaming/statistic_get_stream_series_params.py +20 -0
  129. gcore/types/streaming/statistic_get_unique_viewers_cdn_params.py +27 -0
  130. gcore/types/streaming/statistic_get_unique_viewers_params.py +34 -0
  131. gcore/types/streaming/statistic_get_views_by_browsers_params.py +15 -0
  132. gcore/types/streaming/statistic_get_views_by_country_params.py +15 -0
  133. gcore/types/streaming/statistic_get_views_by_hostname_params.py +15 -0
  134. gcore/types/streaming/statistic_get_views_by_operating_system_params.py +15 -0
  135. gcore/types/streaming/statistic_get_views_by_referer_params.py +15 -0
  136. gcore/types/streaming/statistic_get_views_by_region_params.py +15 -0
  137. gcore/types/streaming/statistic_get_views_heatmap_params.py +21 -0
  138. gcore/types/streaming/statistic_get_views_params.py +34 -0
  139. gcore/types/streaming/statistic_get_vod_storage_volume_params.py +17 -0
  140. gcore/types/streaming/statistic_get_vod_transcoding_duration_params.py +17 -0
  141. gcore/types/streaming/statistic_get_vod_unique_viewers_cdn_params.py +26 -0
  142. gcore/types/streaming/statistic_get_vod_watch_time_cdn_params.py +32 -0
  143. gcore/types/streaming/statistic_get_vod_watch_time_total_cdn_params.py +30 -0
  144. gcore/types/streaming/statistic_get_vod_watch_time_total_cdn_response.py +22 -0
  145. gcore/types/streaming/storage_series.py +23 -0
  146. gcore/types/streaming/stream.py +420 -0
  147. gcore/types/streaming/stream_create_clip_params.py +48 -0
  148. gcore/types/streaming/stream_create_params.py +165 -0
  149. gcore/types/streaming/stream_list_clips_response.py +10 -0
  150. gcore/types/streaming/stream_list_params.py +18 -0
  151. gcore/types/streaming/stream_series.py +21 -0
  152. gcore/types/streaming/stream_start_recording_response.py +76 -0
  153. gcore/types/streaming/stream_update_params.py +169 -0
  154. gcore/types/streaming/streams/__init__.py +11 -0
  155. gcore/types/streaming/streams/overlay.py +43 -0
  156. gcore/types/streaming/streams/overlay_create_params.py +36 -0
  157. gcore/types/streaming/streams/overlay_create_response.py +10 -0
  158. gcore/types/streaming/streams/overlay_list_response.py +10 -0
  159. gcore/types/streaming/streams/overlay_update_multiple_params.py +39 -0
  160. gcore/types/streaming/streams/overlay_update_multiple_response.py +10 -0
  161. gcore/types/streaming/streams/overlay_update_params.py +33 -0
  162. gcore/types/streaming/subtitle.py +12 -0
  163. gcore/types/streaming/subtitle_base.py +18 -0
  164. gcore/types/streaming/subtitle_base_param.py +18 -0
  165. gcore/types/streaming/unique_viewers.py +35 -0
  166. gcore/types/streaming/unique_viewers_cdn.py +17 -0
  167. gcore/types/streaming/video.py +444 -0
  168. gcore/types/streaming/video_create_multiple_params.py +28 -0
  169. gcore/types/streaming/video_create_multiple_response.py +10 -0
  170. gcore/types/streaming/video_create_params.py +13 -0
  171. gcore/types/streaming/video_create_response.py +10 -0
  172. gcore/types/streaming/video_list_names_params.py +13 -0
  173. gcore/types/streaming/video_list_params.py +59 -0
  174. gcore/types/streaming/video_update_params.py +214 -0
  175. gcore/types/streaming/videos/__init__.py +7 -0
  176. gcore/types/streaming/videos/subtitle_create_params.py +17 -0
  177. gcore/types/streaming/videos/subtitle_list_response.py +10 -0
  178. gcore/types/streaming/videos/subtitle_update_params.py +20 -0
  179. gcore/types/streaming/views.py +35 -0
  180. gcore/types/streaming/views_by_browser.py +17 -0
  181. gcore/types/streaming/views_by_country.py +19 -0
  182. gcore/types/streaming/views_by_hostname.py +17 -0
  183. gcore/types/streaming/views_by_operating_system.py +17 -0
  184. gcore/types/streaming/views_by_referer.py +17 -0
  185. gcore/types/streaming/views_by_region.py +19 -0
  186. gcore/types/streaming/views_heatmap.py +19 -0
  187. gcore/types/streaming/vod_statistics_series.py +21 -0
  188. gcore/types/streaming/vod_total_stream_duration_series.py +22 -0
  189. gcore/types/waap/domains/custom_rule_create_params.py +4 -4
  190. gcore/types/waap/domains/custom_rule_update_params.py +4 -4
  191. gcore/types/waap/ip_info_get_blocked_requests_params.py +5 -1
  192. gcore/types/waap/ip_info_get_counts_params.py +2 -1
  193. gcore/types/waap/ip_info_get_top_sessions_params.py +5 -1
  194. gcore/types/waap/ip_info_get_top_urls_params.py +5 -1
  195. gcore/types/waap/ip_info_get_top_user_agents_params.py +5 -1
  196. gcore/types/waap/waap_custom_rule.py +4 -4
  197. {gcore-0.5.0.dist-info → gcore-0.7.0.dist-info}/METADATA +2 -3
  198. {gcore-0.5.0.dist-info → gcore-0.7.0.dist-info}/RECORD +200 -43
  199. {gcore-0.5.0.dist-info → gcore-0.7.0.dist-info}/WHEEL +0 -0
  200. {gcore-0.5.0.dist-info → gcore-0.7.0.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,865 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List, Union, Optional
4
+ from typing_extensions import Literal, Annotated, TypeAlias
5
+
6
+ from ..._utils import PropertyInfo
7
+ from ..._models import BaseModel
8
+
9
+ __all__ = [
10
+ "CostReportAggregatedMonthly",
11
+ "Result",
12
+ "ResultTotalAIClusterWithCostSerializer",
13
+ "ResultTotalAIVirtualClusterWithCostSerializer",
14
+ "ResultTotalBaremetalWithCostSerializer",
15
+ "ResultTotalBasicVmWithCostSerializer",
16
+ "ResultTotalBackupWithCostSerializer",
17
+ "ResultTotalContainerWithCostSerializer",
18
+ "ResultTotalEgressTrafficWithCostSerializer",
19
+ "ResultTotalExternalIPWithCostSerializer",
20
+ "ResultTotalFileShareWithCostSerializer",
21
+ "ResultTotalFloatingIPWithCostSerializer",
22
+ "ResultTotalFunctionsWithCostSerializer",
23
+ "ResultTotalFunctionCallsWithCostSerializer",
24
+ "ResultTotalFunctionEgressTrafficWithCostSerializer",
25
+ "ResultTotalImagesWithCostSerializer",
26
+ "ResultTotalInferenceWithCostSerializer",
27
+ "ResultTotalInstanceWithCostSerializer",
28
+ "ResultTotalLoadBalancerWithCostSerializer",
29
+ "ResultTotalLogIndexWithCostSerializer",
30
+ "ResultTotalSnapshotWithCostSerializer",
31
+ "ResultTotalVolumeWithCostSerializer",
32
+ "ResultTotalDbaasPostgreSQLPoolerWithCostSerializer",
33
+ "ResultTotalDbaasPostgreSQLMemoryWithCostSerializer",
34
+ "ResultTotalDbaasPostgreSQLPublicNetworkWithCostSerializer",
35
+ "ResultTotalDbaasPostgreSqlcpuWithCostSerializer",
36
+ "ResultTotalDbaasPostgreSQLVolumeWithCostSerializer",
37
+ ]
38
+
39
+
40
+ class ResultTotalAIClusterWithCostSerializer(BaseModel):
41
+ billing_feature_name: Optional[str] = None
42
+
43
+ billing_metric_name: str
44
+ """Name of the billing metric"""
45
+
46
+ billing_value: float
47
+ """Value of the billing metric"""
48
+
49
+ billing_value_unit: Literal["minutes"]
50
+ """Unit of billing value"""
51
+
52
+ cost: Optional[float] = None
53
+ """Cost for requested period"""
54
+
55
+ currency: Optional[str] = None
56
+ """Currency of the cost"""
57
+
58
+ err: Optional[str] = None
59
+ """Error message"""
60
+
61
+ flavor: str
62
+ """Flavor of the Baremetal GPU cluster"""
63
+
64
+ region: int
65
+ """Region ID"""
66
+
67
+ region_id: int
68
+ """Region ID"""
69
+
70
+ type: Literal["ai_cluster"]
71
+
72
+
73
+ class ResultTotalAIVirtualClusterWithCostSerializer(BaseModel):
74
+ billing_feature_name: Optional[str] = None
75
+
76
+ billing_metric_name: str
77
+ """Name of the billing metric"""
78
+
79
+ billing_value: float
80
+ """Value of the billing metric"""
81
+
82
+ billing_value_unit: Literal["minutes"]
83
+ """Unit of billing value"""
84
+
85
+ cost: Optional[float] = None
86
+ """Cost for requested period"""
87
+
88
+ currency: Optional[str] = None
89
+ """Currency of the cost"""
90
+
91
+ err: Optional[str] = None
92
+ """Error message"""
93
+
94
+ flavor: str
95
+ """Flavor of the Virtual GPU cluster"""
96
+
97
+ region: int
98
+ """Region ID"""
99
+
100
+ region_id: int
101
+ """Region ID"""
102
+
103
+ type: Literal["ai_virtual_cluster"]
104
+
105
+
106
+ class ResultTotalBaremetalWithCostSerializer(BaseModel):
107
+ billing_feature_name: Optional[str] = None
108
+
109
+ billing_metric_name: str
110
+ """Name of the billing metric"""
111
+
112
+ billing_value: float
113
+ """Value of the billing metric"""
114
+
115
+ billing_value_unit: Literal["minutes"]
116
+ """Unit of billing value"""
117
+
118
+ cost: Optional[float] = None
119
+ """Cost for requested period"""
120
+
121
+ currency: Optional[str] = None
122
+ """Currency of the cost"""
123
+
124
+ err: Optional[str] = None
125
+ """Error message"""
126
+
127
+ flavor: str
128
+ """Flavor of the bare metal server"""
129
+
130
+ region: int
131
+ """Region ID"""
132
+
133
+ region_id: int
134
+ """Region ID"""
135
+
136
+ type: Literal["baremetal"]
137
+
138
+
139
+ class ResultTotalBasicVmWithCostSerializer(BaseModel):
140
+ billing_feature_name: Optional[str] = None
141
+
142
+ billing_metric_name: str
143
+ """Name of the billing metric"""
144
+
145
+ billing_value: float
146
+ """Value of the billing metric"""
147
+
148
+ billing_value_unit: Literal["minutes"]
149
+ """Unit of billing value"""
150
+
151
+ cost: Optional[float] = None
152
+ """Cost for requested period"""
153
+
154
+ currency: Optional[str] = None
155
+ """Currency of the cost"""
156
+
157
+ err: Optional[str] = None
158
+ """Error message"""
159
+
160
+ flavor: str
161
+ """Flavor of the basic VM"""
162
+
163
+ region: int
164
+ """Region ID"""
165
+
166
+ region_id: int
167
+ """Region ID"""
168
+
169
+ type: Literal["basic_vm"]
170
+
171
+
172
+ class ResultTotalBackupWithCostSerializer(BaseModel):
173
+ billing_feature_name: Optional[str] = None
174
+
175
+ billing_metric_name: str
176
+ """Name of the billing metric"""
177
+
178
+ billing_value: float
179
+ """Value of the billing metric"""
180
+
181
+ billing_value_unit: Literal["gbminutes"]
182
+ """Unit of billing value"""
183
+
184
+ cost: Optional[float] = None
185
+ """Cost for requested period"""
186
+
187
+ currency: Optional[str] = None
188
+ """Currency of the cost"""
189
+
190
+ err: Optional[str] = None
191
+ """Error message"""
192
+
193
+ last_size: int
194
+ """Size of the backup in bytes"""
195
+
196
+ region: int
197
+ """Region ID"""
198
+
199
+ region_id: int
200
+ """Region ID"""
201
+
202
+ type: Literal["backup"]
203
+
204
+
205
+ class ResultTotalContainerWithCostSerializer(BaseModel):
206
+ billing_feature_name: Optional[str] = None
207
+
208
+ billing_metric_name: str
209
+ """Name of the billing metric"""
210
+
211
+ billing_value: float
212
+ """Value of the billing metric"""
213
+
214
+ billing_value_unit: Literal["GBS"]
215
+ """Unit of billing value"""
216
+
217
+ cost: Optional[float] = None
218
+ """Cost for requested period"""
219
+
220
+ currency: Optional[str] = None
221
+ """Currency of the cost"""
222
+
223
+ err: Optional[str] = None
224
+ """Error message"""
225
+
226
+ region: int
227
+ """Region ID"""
228
+
229
+ region_id: int
230
+ """Region ID"""
231
+
232
+ type: Literal["containers"]
233
+
234
+
235
+ class ResultTotalEgressTrafficWithCostSerializer(BaseModel):
236
+ billing_feature_name: Optional[str] = None
237
+
238
+ billing_metric_name: str
239
+ """Name of the billing metric"""
240
+
241
+ billing_value: float
242
+ """Value of the billing metric"""
243
+
244
+ billing_value_unit: Literal["bytes"]
245
+ """Unit of billing value"""
246
+
247
+ cost: Optional[float] = None
248
+ """Cost for requested period"""
249
+
250
+ currency: Optional[str] = None
251
+ """Currency of the cost"""
252
+
253
+ err: Optional[str] = None
254
+ """Error message"""
255
+
256
+ instance_type: Literal["baremetal", "vm"]
257
+ """Type of the instance"""
258
+
259
+ region: int
260
+ """Region ID"""
261
+
262
+ region_id: int
263
+ """Region ID"""
264
+
265
+ type: Literal["egress_traffic"]
266
+
267
+
268
+ class ResultTotalExternalIPWithCostSerializer(BaseModel):
269
+ billing_feature_name: Optional[str] = None
270
+
271
+ billing_metric_name: str
272
+ """Name of the billing metric"""
273
+
274
+ billing_value: float
275
+ """Value of the billing metric"""
276
+
277
+ billing_value_unit: Literal["minutes"]
278
+ """Unit of billing value"""
279
+
280
+ cost: Optional[float] = None
281
+ """Cost for requested period"""
282
+
283
+ currency: Optional[str] = None
284
+ """Currency of the cost"""
285
+
286
+ err: Optional[str] = None
287
+ """Error message"""
288
+
289
+ region: int
290
+ """Region ID"""
291
+
292
+ region_id: int
293
+ """Region ID"""
294
+
295
+ type: Literal["external_ip"]
296
+
297
+
298
+ class ResultTotalFileShareWithCostSerializer(BaseModel):
299
+ billing_feature_name: Optional[str] = None
300
+
301
+ billing_metric_name: str
302
+ """Name of the billing metric"""
303
+
304
+ billing_value: float
305
+ """Value of the billing metric"""
306
+
307
+ billing_value_unit: Literal["gbminutes"]
308
+ """Unit of billing value"""
309
+
310
+ cost: Optional[float] = None
311
+ """Cost for requested period"""
312
+
313
+ currency: Optional[str] = None
314
+ """Currency of the cost"""
315
+
316
+ err: Optional[str] = None
317
+ """Error message"""
318
+
319
+ file_share_type: str
320
+ """Type of the file share"""
321
+
322
+ region: int
323
+ """Region ID"""
324
+
325
+ region_id: int
326
+ """Region ID"""
327
+
328
+ type: Literal["file_share"]
329
+
330
+
331
+ class ResultTotalFloatingIPWithCostSerializer(BaseModel):
332
+ billing_feature_name: Optional[str] = None
333
+
334
+ billing_metric_name: str
335
+ """Name of the billing metric"""
336
+
337
+ billing_value: float
338
+ """Value of the billing metric"""
339
+
340
+ billing_value_unit: Literal["minutes"]
341
+ """Unit of billing value"""
342
+
343
+ cost: Optional[float] = None
344
+ """Cost for requested period"""
345
+
346
+ currency: Optional[str] = None
347
+ """Currency of the cost"""
348
+
349
+ err: Optional[str] = None
350
+ """Error message"""
351
+
352
+ region: int
353
+ """Region ID"""
354
+
355
+ region_id: int
356
+ """Region ID"""
357
+
358
+ type: Literal["floatingip"]
359
+
360
+
361
+ class ResultTotalFunctionsWithCostSerializer(BaseModel):
362
+ billing_feature_name: Optional[str] = None
363
+
364
+ billing_metric_name: str
365
+ """Name of the billing metric"""
366
+
367
+ billing_value: float
368
+ """Value of the billing metric"""
369
+
370
+ billing_value_unit: Literal["GBS"]
371
+ """Unit of billing value"""
372
+
373
+ cost: Optional[float] = None
374
+ """Cost for requested period"""
375
+
376
+ currency: Optional[str] = None
377
+ """Currency of the cost"""
378
+
379
+ err: Optional[str] = None
380
+ """Error message"""
381
+
382
+ region: int
383
+ """Region ID"""
384
+
385
+ region_id: int
386
+ """Region ID"""
387
+
388
+ type: Literal["functions"]
389
+
390
+
391
+ class ResultTotalFunctionCallsWithCostSerializer(BaseModel):
392
+ billing_feature_name: Optional[str] = None
393
+
394
+ billing_metric_name: str
395
+ """Name of the billing metric"""
396
+
397
+ billing_value: float
398
+ """Value of the billing metric"""
399
+
400
+ billing_value_unit: Literal["MLS"]
401
+ """Unit of billing value"""
402
+
403
+ cost: Optional[float] = None
404
+ """Cost for requested period"""
405
+
406
+ currency: Optional[str] = None
407
+ """Currency of the cost"""
408
+
409
+ err: Optional[str] = None
410
+ """Error message"""
411
+
412
+ region: int
413
+ """Region ID"""
414
+
415
+ region_id: int
416
+ """Region ID"""
417
+
418
+ type: Literal["functions_calls"]
419
+
420
+
421
+ class ResultTotalFunctionEgressTrafficWithCostSerializer(BaseModel):
422
+ billing_feature_name: Optional[str] = None
423
+
424
+ billing_metric_name: str
425
+ """Name of the billing metric"""
426
+
427
+ billing_value: float
428
+ """Value of the billing metric"""
429
+
430
+ billing_value_unit: Literal["GB"]
431
+ """Unit of billing value"""
432
+
433
+ cost: Optional[float] = None
434
+ """Cost for requested period"""
435
+
436
+ currency: Optional[str] = None
437
+ """Currency of the cost"""
438
+
439
+ err: Optional[str] = None
440
+ """Error message"""
441
+
442
+ region: int
443
+ """Region ID"""
444
+
445
+ region_id: int
446
+ """Region ID"""
447
+
448
+ type: Literal["functions_traffic"]
449
+
450
+
451
+ class ResultTotalImagesWithCostSerializer(BaseModel):
452
+ billing_feature_name: Optional[str] = None
453
+
454
+ billing_metric_name: str
455
+ """Name of the billing metric"""
456
+
457
+ billing_value: float
458
+ """Value of the billing metric"""
459
+
460
+ billing_value_unit: Literal["gbminutes"]
461
+ """Unit of billing value"""
462
+
463
+ cost: Optional[float] = None
464
+ """Cost for requested period"""
465
+
466
+ currency: Optional[str] = None
467
+ """Currency of the cost"""
468
+
469
+ err: Optional[str] = None
470
+ """Error message"""
471
+
472
+ region: int
473
+ """Region ID"""
474
+
475
+ region_id: int
476
+ """Region ID"""
477
+
478
+ type: Literal["image"]
479
+
480
+
481
+ class ResultTotalInferenceWithCostSerializer(BaseModel):
482
+ billing_feature_name: Optional[str] = None
483
+
484
+ billing_metric_name: str
485
+ """Name of the billing metric"""
486
+
487
+ billing_value: float
488
+ """Value of the billing metric"""
489
+
490
+ billing_value_unit: str
491
+ """Unit of billing value"""
492
+
493
+ cost: Optional[float] = None
494
+ """Cost for requested period"""
495
+
496
+ currency: Optional[str] = None
497
+ """Currency of the cost"""
498
+
499
+ err: Optional[str] = None
500
+ """Error message"""
501
+
502
+ region: int
503
+ """Region ID"""
504
+
505
+ region_id: int
506
+ """Region ID"""
507
+
508
+ type: Literal["inference"]
509
+
510
+
511
+ class ResultTotalInstanceWithCostSerializer(BaseModel):
512
+ billing_feature_name: Optional[str] = None
513
+
514
+ billing_metric_name: str
515
+ """Name of the billing metric"""
516
+
517
+ billing_value: float
518
+ """Value of the billing metric"""
519
+
520
+ billing_value_unit: Literal["minutes"]
521
+ """Unit of billing value"""
522
+
523
+ cost: Optional[float] = None
524
+ """Cost for requested period"""
525
+
526
+ currency: Optional[str] = None
527
+ """Currency of the cost"""
528
+
529
+ err: Optional[str] = None
530
+ """Error message"""
531
+
532
+ flavor: str
533
+ """Flavor of the instance"""
534
+
535
+ region: int
536
+ """Region ID"""
537
+
538
+ region_id: int
539
+ """Region ID"""
540
+
541
+ type: Literal["instance"]
542
+
543
+
544
+ class ResultTotalLoadBalancerWithCostSerializer(BaseModel):
545
+ billing_feature_name: Optional[str] = None
546
+
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["minutes"]
554
+ """Unit of billing value"""
555
+
556
+ cost: Optional[float] = None
557
+ """Cost for requested period"""
558
+
559
+ currency: Optional[str] = None
560
+ """Currency of the cost"""
561
+
562
+ err: Optional[str] = None
563
+ """Error message"""
564
+
565
+ flavor: str
566
+ """Flavor of the load balancer"""
567
+
568
+ region: int
569
+ """Region ID"""
570
+
571
+ region_id: int
572
+ """Region ID"""
573
+
574
+ type: Literal["load_balancer"]
575
+
576
+
577
+ class ResultTotalLogIndexWithCostSerializer(BaseModel):
578
+ billing_feature_name: Optional[str] = None
579
+
580
+ billing_metric_name: str
581
+ """Name of the billing metric"""
582
+
583
+ billing_value: float
584
+ """Value of the billing metric"""
585
+
586
+ billing_value_unit: Literal["gbminutes"]
587
+ """Unit of billing value"""
588
+
589
+ cost: Optional[float] = None
590
+ """Cost for requested period"""
591
+
592
+ currency: Optional[str] = None
593
+ """Currency of the cost"""
594
+
595
+ err: Optional[str] = None
596
+ """Error message"""
597
+
598
+ region: int
599
+ """Region ID"""
600
+
601
+ region_id: int
602
+ """Region ID"""
603
+
604
+ type: Literal["log_index"]
605
+
606
+
607
+ class ResultTotalSnapshotWithCostSerializer(BaseModel):
608
+ billing_feature_name: Optional[str] = None
609
+
610
+ billing_metric_name: str
611
+ """Name of the billing metric"""
612
+
613
+ billing_value: float
614
+ """Value of the billing metric"""
615
+
616
+ billing_value_unit: Literal["gbminutes"]
617
+ """Unit of billing value"""
618
+
619
+ cost: Optional[float] = None
620
+ """Cost for requested period"""
621
+
622
+ currency: Optional[str] = None
623
+ """Currency of the cost"""
624
+
625
+ err: Optional[str] = None
626
+ """Error message"""
627
+
628
+ region: int
629
+ """Region ID"""
630
+
631
+ region_id: int
632
+ """Region ID"""
633
+
634
+ type: Literal["snapshot"]
635
+
636
+ volume_type: str
637
+ """Type of the volume"""
638
+
639
+
640
+ class ResultTotalVolumeWithCostSerializer(BaseModel):
641
+ billing_feature_name: Optional[str] = None
642
+
643
+ billing_metric_name: str
644
+ """Name of the billing metric"""
645
+
646
+ billing_value: float
647
+ """Value of the billing metric"""
648
+
649
+ billing_value_unit: Literal["gbminutes"]
650
+ """Unit of billing value"""
651
+
652
+ cost: Optional[float] = None
653
+ """Cost for requested period"""
654
+
655
+ currency: Optional[str] = None
656
+ """Currency of the cost"""
657
+
658
+ err: Optional[str] = None
659
+ """Error message"""
660
+
661
+ region: int
662
+ """Region ID"""
663
+
664
+ region_id: int
665
+ """Region ID"""
666
+
667
+ type: Literal["volume"]
668
+
669
+ volume_type: str
670
+ """Type of the volume"""
671
+
672
+
673
+ class ResultTotalDbaasPostgreSQLPoolerWithCostSerializer(BaseModel):
674
+ billing_feature_name: Optional[str] = None
675
+
676
+ billing_metric_name: str
677
+ """Name of the billing metric"""
678
+
679
+ billing_value: float
680
+ """Value of the billing metric"""
681
+
682
+ billing_value_unit: Literal["minutes"]
683
+ """Unit of billing value"""
684
+
685
+ cost: Optional[float] = None
686
+ """Cost for requested period"""
687
+
688
+ currency: Optional[str] = None
689
+ """Currency of the cost"""
690
+
691
+ err: Optional[str] = None
692
+ """Error message"""
693
+
694
+ region: int
695
+ """Region ID"""
696
+
697
+ region_id: int
698
+ """Region ID"""
699
+
700
+ type: Literal["dbaas_postgresql_connection_pooler"]
701
+
702
+
703
+ class ResultTotalDbaasPostgreSQLMemoryWithCostSerializer(BaseModel):
704
+ billing_feature_name: Optional[str] = None
705
+
706
+ billing_metric_name: str
707
+ """Name of the billing metric"""
708
+
709
+ billing_value: float
710
+ """Value of the billing metric"""
711
+
712
+ billing_value_unit: Literal["gbminutes"]
713
+ """Unit of billing value"""
714
+
715
+ cost: Optional[float] = None
716
+ """Cost for requested period"""
717
+
718
+ currency: Optional[str] = None
719
+ """Currency of the cost"""
720
+
721
+ err: Optional[str] = None
722
+ """Error message"""
723
+
724
+ region: int
725
+ """Region ID"""
726
+
727
+ region_id: int
728
+ """Region ID"""
729
+
730
+ type: Literal["dbaas_postgresql_memory"]
731
+
732
+
733
+ class ResultTotalDbaasPostgreSQLPublicNetworkWithCostSerializer(BaseModel):
734
+ billing_feature_name: Optional[str] = None
735
+
736
+ billing_metric_name: str
737
+ """Name of the billing metric"""
738
+
739
+ billing_value: float
740
+ """Value of the billing metric"""
741
+
742
+ billing_value_unit: Literal["minutes"]
743
+ """Unit of billing value"""
744
+
745
+ cost: Optional[float] = None
746
+ """Cost for requested period"""
747
+
748
+ currency: Optional[str] = None
749
+ """Currency of the cost"""
750
+
751
+ err: Optional[str] = None
752
+ """Error message"""
753
+
754
+ region: int
755
+ """Region ID"""
756
+
757
+ region_id: int
758
+ """Region ID"""
759
+
760
+ type: Literal["dbaas_postgresql_public_network"]
761
+
762
+
763
+ class ResultTotalDbaasPostgreSqlcpuWithCostSerializer(BaseModel):
764
+ billing_feature_name: Optional[str] = None
765
+
766
+ billing_metric_name: str
767
+ """Name of the billing metric"""
768
+
769
+ billing_value: float
770
+ """Value of the billing metric"""
771
+
772
+ billing_value_unit: Literal["minutes"]
773
+ """Unit of billing value"""
774
+
775
+ cost: Optional[float] = None
776
+ """Cost for requested period"""
777
+
778
+ currency: Optional[str] = None
779
+ """Currency of the cost"""
780
+
781
+ err: Optional[str] = None
782
+ """Error message"""
783
+
784
+ region: int
785
+ """Region ID"""
786
+
787
+ region_id: int
788
+ """Region ID"""
789
+
790
+ type: Literal["dbaas_postgresql_cpu"]
791
+
792
+
793
+ class ResultTotalDbaasPostgreSQLVolumeWithCostSerializer(BaseModel):
794
+ billing_feature_name: Optional[str] = None
795
+
796
+ billing_metric_name: str
797
+ """Name of the billing metric"""
798
+
799
+ billing_value: float
800
+ """Value of the billing metric"""
801
+
802
+ billing_value_unit: Literal["gbminutes"]
803
+ """Unit of billing value"""
804
+
805
+ cost: Optional[float] = None
806
+ """Cost for requested period"""
807
+
808
+ currency: Optional[str] = None
809
+ """Currency of the cost"""
810
+
811
+ err: Optional[str] = None
812
+ """Error message"""
813
+
814
+ region: int
815
+ """Region ID"""
816
+
817
+ region_id: int
818
+ """Region ID"""
819
+
820
+ type: Literal["dbaas_postgresql_volume"]
821
+
822
+ volume_type: str
823
+ """Type of the volume"""
824
+
825
+
826
+ Result: TypeAlias = Annotated[
827
+ Union[
828
+ ResultTotalAIClusterWithCostSerializer,
829
+ ResultTotalAIVirtualClusterWithCostSerializer,
830
+ ResultTotalBaremetalWithCostSerializer,
831
+ ResultTotalBasicVmWithCostSerializer,
832
+ ResultTotalBackupWithCostSerializer,
833
+ ResultTotalContainerWithCostSerializer,
834
+ ResultTotalEgressTrafficWithCostSerializer,
835
+ ResultTotalExternalIPWithCostSerializer,
836
+ ResultTotalFileShareWithCostSerializer,
837
+ ResultTotalFloatingIPWithCostSerializer,
838
+ ResultTotalFunctionsWithCostSerializer,
839
+ ResultTotalFunctionCallsWithCostSerializer,
840
+ ResultTotalFunctionEgressTrafficWithCostSerializer,
841
+ ResultTotalImagesWithCostSerializer,
842
+ ResultTotalInferenceWithCostSerializer,
843
+ ResultTotalInstanceWithCostSerializer,
844
+ ResultTotalLoadBalancerWithCostSerializer,
845
+ ResultTotalLogIndexWithCostSerializer,
846
+ ResultTotalSnapshotWithCostSerializer,
847
+ ResultTotalVolumeWithCostSerializer,
848
+ ResultTotalDbaasPostgreSQLPoolerWithCostSerializer,
849
+ ResultTotalDbaasPostgreSQLMemoryWithCostSerializer,
850
+ ResultTotalDbaasPostgreSQLPublicNetworkWithCostSerializer,
851
+ ResultTotalDbaasPostgreSqlcpuWithCostSerializer,
852
+ ResultTotalDbaasPostgreSQLVolumeWithCostSerializer,
853
+ ],
854
+ PropertyInfo(discriminator="type"),
855
+ ]
856
+
857
+
858
+ class CostReportAggregatedMonthly(BaseModel):
859
+ count: int
860
+ """Total count of the totals"""
861
+
862
+ price_status: Literal["error", "hide", "show"]
863
+ """Price status for the UI, type: string"""
864
+
865
+ results: List[Result]