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
@@ -2,6 +2,8 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
+ from typing import Optional
6
+
5
7
  import httpx
6
8
 
7
9
  from ..._types import NOT_GIVEN, Body, Query, Headers, NotGiven
@@ -155,7 +157,9 @@ class IPInfoResource(SyncAPIResource):
155
157
  corresponding action that was executed.
156
158
 
157
159
  Args:
158
- domain_id: The domain ID
160
+ domain_id: The identifier for a domain. When specified, the response will exclusively
161
+ contain data pertinent to the indicated domain, filtering out information from
162
+ other domains.
159
163
 
160
164
  ip: The IP address to check
161
165
 
@@ -189,7 +193,7 @@ class IPInfoResource(SyncAPIResource):
189
193
  self,
190
194
  *,
191
195
  ip: str,
192
- domain_id: int | NotGiven = NOT_GIVEN,
196
+ domain_id: Optional[int] | NotGiven = NOT_GIVEN,
193
197
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
194
198
  # The extra values given here take precedence over values defined on the client or passed to this method.
195
199
  extra_headers: Headers | None = None,
@@ -296,7 +300,9 @@ class IPInfoResource(SyncAPIResource):
296
300
  by IP.
297
301
 
298
302
  Args:
299
- domain_id: The domain ID
303
+ domain_id: The identifier for a domain. When specified, the response will exclusively
304
+ contain data pertinent to the indicated domain, filtering out information from
305
+ other domains.
300
306
 
301
307
  ip: The IP address to check
302
308
 
@@ -345,7 +351,9 @@ class IPInfoResource(SyncAPIResource):
345
351
  security monitoring based on URL popularity.
346
352
 
347
353
  Args:
348
- domain_id: The domain ID
354
+ domain_id: The identifier for a domain. When specified, the response will exclusively
355
+ contain data pertinent to the indicated domain, filtering out information from
356
+ other domains.
349
357
 
350
358
  ip: The IP address to check
351
359
 
@@ -392,7 +400,9 @@ class IPInfoResource(SyncAPIResource):
392
400
  IP.
393
401
 
394
402
  Args:
395
- domain_id: The domain ID
403
+ domain_id: The identifier for a domain. When specified, the response will exclusively
404
+ contain data pertinent to the indicated domain, filtering out information from
405
+ other domains.
396
406
 
397
407
  ip: The IP address to check
398
408
 
@@ -578,7 +588,9 @@ class AsyncIPInfoResource(AsyncAPIResource):
578
588
  corresponding action that was executed.
579
589
 
580
590
  Args:
581
- domain_id: The domain ID
591
+ domain_id: The identifier for a domain. When specified, the response will exclusively
592
+ contain data pertinent to the indicated domain, filtering out information from
593
+ other domains.
582
594
 
583
595
  ip: The IP address to check
584
596
 
@@ -612,7 +624,7 @@ class AsyncIPInfoResource(AsyncAPIResource):
612
624
  self,
613
625
  *,
614
626
  ip: str,
615
- domain_id: int | NotGiven = NOT_GIVEN,
627
+ domain_id: Optional[int] | NotGiven = NOT_GIVEN,
616
628
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
617
629
  # The extra values given here take precedence over values defined on the client or passed to this method.
618
630
  extra_headers: Headers | None = None,
@@ -719,7 +731,9 @@ class AsyncIPInfoResource(AsyncAPIResource):
719
731
  by IP.
720
732
 
721
733
  Args:
722
- domain_id: The domain ID
734
+ domain_id: The identifier for a domain. When specified, the response will exclusively
735
+ contain data pertinent to the indicated domain, filtering out information from
736
+ other domains.
723
737
 
724
738
  ip: The IP address to check
725
739
 
@@ -768,7 +782,9 @@ class AsyncIPInfoResource(AsyncAPIResource):
768
782
  security monitoring based on URL popularity.
769
783
 
770
784
  Args:
771
- domain_id: The domain ID
785
+ domain_id: The identifier for a domain. When specified, the response will exclusively
786
+ contain data pertinent to the indicated domain, filtering out information from
787
+ other domains.
772
788
 
773
789
  ip: The IP address to check
774
790
 
@@ -815,7 +831,9 @@ class AsyncIPInfoResource(AsyncAPIResource):
815
831
  IP.
816
832
 
817
833
  Args:
818
- domain_id: The domain ID
834
+ domain_id: The identifier for a domain. When specified, the response will exclusively
835
+ contain data pertinent to the indicated domain, filtering out information from
836
+ other domains.
819
837
 
820
838
  ip: The IP address to check
821
839
 
@@ -30,6 +30,7 @@ from .ddos_profile import DDOSProfile as DDOSProfile
30
30
  from .lb_algorithm import LbAlgorithm as LbAlgorithm
31
31
  from .registry_tag import RegistryTag as RegistryTag
32
32
  from .task_id_list import TaskIDList as TaskIDList
33
+ from .usage_report import UsageReport as UsageReport
33
34
  from .fixed_address import FixedAddress as FixedAddress
34
35
  from .instance_list import InstanceList as InstanceList
35
36
  from .ip_assignment import IPAssignment as IPAssignment
@@ -40,6 +41,7 @@ from .blackhole_port import BlackholePort as BlackholePort
40
41
  from .gpu_image_list import GPUImageList as GPUImageList
41
42
  from .health_monitor import HealthMonitor as HealthMonitor
42
43
  from .security_group import SecurityGroup as SecurityGroup
44
+ from .audit_log_entry import AuditLogEntry as AuditLogEntry
43
45
  from .listener_status import ListenerStatus as ListenerStatus
44
46
  from .network_details import NetworkDetails as NetworkDetails
45
47
  from .placement_group import PlacementGroup as PlacementGroup
@@ -69,6 +71,7 @@ from .provisioning_status import ProvisioningStatus as ProvisioningStatus
69
71
  from .security_group_rule import SecurityGroupRule as SecurityGroupRule
70
72
  from .session_persistence import SessionPersistence as SessionPersistence
71
73
  from .ssh_key_list_params import SSHKeyListParams as SSHKeyListParams
74
+ from .cost_report_detailed import CostReportDetailed as CostReportDetailed
72
75
  from .floating_ip_detailed import FloatingIPDetailed as FloatingIPDetailed
73
76
  from .gpu_baremetal_flavor import GPUBaremetalFlavor as GPUBaremetalFlavor
74
77
  from .instance_list_params import InstanceListParams as InstanceListParams
@@ -81,6 +84,7 @@ from .volume_delete_params import VolumeDeleteParams as VolumeDeleteParams
81
84
  from .volume_resize_params import VolumeResizeParams as VolumeResizeParams
82
85
  from .volume_update_params import VolumeUpdateParams as VolumeUpdateParams
83
86
  from .allowed_address_pairs import AllowedAddressPairs as AllowedAddressPairs
87
+ from .audit_log_list_params import AuditLogListParams as AuditLogListParams
84
88
  from .baremetal_flavor_list import BaremetalFlavorList as BaremetalFlavorList
85
89
  from .ddos_profile_template import DDOSProfileTemplate as DDOSProfileTemplate
86
90
  from .gpu_baremetal_cluster import GPUBaremetalCluster as GPUBaremetalCluster
@@ -92,6 +96,7 @@ from .network_update_params import NetworkUpdateParams as NetworkUpdateParams
92
96
  from .project_create_params import ProjectCreateParams as ProjectCreateParams
93
97
  from .ssh_key_create_params import SSHKeyCreateParams as SSHKeyCreateParams
94
98
  from .ssh_key_update_params import SSHKeyUpdateParams as SSHKeyUpdateParams
99
+ from .cost_report_aggregated import CostReportAggregated as CostReportAggregated
95
100
  from .file_share_list_params import FileShareListParams as FileShareListParams
96
101
  from .instance_action_params import InstanceActionParams as InstanceActionParams
97
102
  from .instance_create_params import InstanceCreateParams as InstanceCreateParams
@@ -107,6 +112,7 @@ from .registry_resize_params import RegistryResizeParams as RegistryResizeParams
107
112
  from .floating_ip_list_params import FloatingIPListParams as FloatingIPListParams
108
113
  from .load_balancer_l7_policy import LoadBalancerL7Policy as LoadBalancerL7Policy
109
114
  from .load_balancer_pool_list import LoadBalancerPoolList as LoadBalancerPoolList
115
+ from .usage_report_get_params import UsageReportGetParams as UsageReportGetParams
110
116
  from .ddos_profile_option_list import DDOSProfileOptionList as DDOSProfileOptionList
111
117
  from .file_share_create_params import FileShareCreateParams as FileShareCreateParams
112
118
  from .file_share_resize_params import FileShareResizeParams as FileShareResizeParams
@@ -148,11 +154,14 @@ from .load_balancer_failover_params import LoadBalancerFailoverParams as LoadBal
148
154
  from .load_balancer_listener_detail import LoadBalancerListenerDetail as LoadBalancerListenerDetail
149
155
  from .placement_group_create_params import PlacementGroupCreateParams as PlacementGroupCreateParams
150
156
  from .reserved_fixed_ip_list_params import ReservedFixedIPListParams as ReservedFixedIPListParams
157
+ from .cost_report_aggregated_monthly import CostReportAggregatedMonthly as CostReportAggregatedMonthly
151
158
  from .inference_region_capacity_list import InferenceRegionCapacityList as InferenceRegionCapacityList
152
159
  from .load_balancer_operating_status import LoadBalancerOperatingStatus as LoadBalancerOperatingStatus
153
160
  from .billing_reservation_list_params import BillingReservationListParams as BillingReservationListParams
161
+ from .cost_report_get_detailed_params import CostReportGetDetailedParams as CostReportGetDetailedParams
154
162
  from .reserved_fixed_ip_create_params import ReservedFixedIPCreateParams as ReservedFixedIPCreateParams
155
163
  from .volume_attach_to_instance_params import VolumeAttachToInstanceParams as VolumeAttachToInstanceParams
164
+ from .cost_report_get_aggregated_params import CostReportGetAggregatedParams as CostReportGetAggregatedParams
156
165
  from .gpu_baremetal_cluster_list_params import GPUBaremetalClusterListParams as GPUBaremetalClusterListParams
157
166
  from .gpu_baremetal_cluster_server_list import GPUBaremetalClusterServerList as GPUBaremetalClusterServerList
158
167
  from .laas_index_retention_policy_param import LaasIndexRetentionPolicyParam as LaasIndexRetentionPolicyParam
@@ -172,3 +181,6 @@ from .instance_add_to_placement_group_params import (
172
181
  from .instance_unassign_security_group_params import (
173
182
  InstanceUnassignSecurityGroupParams as InstanceUnassignSecurityGroupParams,
174
183
  )
184
+ from .cost_report_get_aggregated_monthly_params import (
185
+ CostReportGetAggregatedMonthlyParams as CostReportGetAggregatedMonthlyParams,
186
+ )
@@ -0,0 +1,254 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List, Optional
4
+ from datetime import datetime
5
+ from typing_extensions import Literal
6
+
7
+ from ..._models import BaseModel
8
+
9
+ __all__ = ["AuditLogEntry", "Resource", "TotalPrice"]
10
+
11
+
12
+ class Resource(BaseModel):
13
+ resource_id: str
14
+ """Resource ID"""
15
+
16
+ resource_type: Literal[
17
+ "caas_container",
18
+ "caas_key",
19
+ "caas_pull_secret",
20
+ "dbaas_postgres",
21
+ "ddos_profile",
22
+ "external_ip",
23
+ "faas_function",
24
+ "faas_key",
25
+ "faas_namespace",
26
+ "file_shares",
27
+ "floating_ip",
28
+ "gpu_baremetal_server",
29
+ "gpu_virtual_server",
30
+ "gpuai_cluster",
31
+ "image",
32
+ "inference_api_key",
33
+ "inference_application",
34
+ "inference_instance",
35
+ "inference_registry_credentials",
36
+ "inference_secret",
37
+ "instance",
38
+ "ipu_cluster",
39
+ "k8s_cluster",
40
+ "k8s_cluster_template",
41
+ "k8s_pool",
42
+ "laas",
43
+ "laas_topic",
44
+ "lb_health_monitor",
45
+ "lb_l7policy",
46
+ "lb_l7rule",
47
+ "lblistener",
48
+ "lbpool",
49
+ "lbpool_member",
50
+ "lifecycle_policy",
51
+ "lifecycle_policy_volume_member",
52
+ "loadbalancer",
53
+ "network",
54
+ "port",
55
+ "project",
56
+ "quota_limit_request",
57
+ "registry",
58
+ "registry_repository",
59
+ "registry_repository_artifact",
60
+ "registry_repository_tag",
61
+ "registry_user",
62
+ "registry_user_sercret",
63
+ "reservation",
64
+ "role",
65
+ "router",
66
+ "secret",
67
+ "securitygroup",
68
+ "securitygrouprule",
69
+ "servergroup",
70
+ "shared_flavor",
71
+ "shared_image",
72
+ "shared_network",
73
+ "snapshot",
74
+ "snapshot_schedule",
75
+ "ssh_key",
76
+ "subnet",
77
+ "token",
78
+ "user",
79
+ "virtual_gpu_cluster",
80
+ "volume",
81
+ ]
82
+ """Resource type"""
83
+
84
+ resource_body: Optional[object] = None
85
+ """Free-form object, resource body."""
86
+
87
+ search_field: Optional[str] = None
88
+ """Often used property for filtering actions.
89
+
90
+ It can be a name, IP address, or other property, depending on the
91
+ `resource_type`
92
+ """
93
+
94
+
95
+ class TotalPrice(BaseModel):
96
+ currency_code: Optional[str] = None
97
+ """Currency code (3 letter code per ISO 4217)"""
98
+
99
+ price_per_hour: Optional[float] = None
100
+ """Total price VAT inclusive per hour"""
101
+
102
+ price_per_month: Optional[float] = None
103
+ """Total price VAT inclusive per month (30 days)"""
104
+
105
+ price_status: Literal["error", "hide", "show"]
106
+ """Price status for the UI"""
107
+
108
+
109
+ class AuditLogEntry(BaseModel):
110
+ id: str
111
+ """User action ID"""
112
+
113
+ acknowledged: bool
114
+ """
115
+ User action log was successfully received by its subscriber in case there is one
116
+ """
117
+
118
+ action_data: Optional[object] = None
119
+ """Additional information about the action"""
120
+
121
+ action_type: Literal[
122
+ "activate",
123
+ "attach",
124
+ "change_logging_resources",
125
+ "create",
126
+ "create_access_rule",
127
+ "deactivate",
128
+ "delete",
129
+ "delete_access_rule",
130
+ "delete_metadata",
131
+ "detach",
132
+ "disable_logging",
133
+ "disable_portsecurity",
134
+ "download",
135
+ "enable_logging",
136
+ "enable_portsecurity",
137
+ "failover",
138
+ "put_into_servergroup",
139
+ "reboot",
140
+ "reboot_hard",
141
+ "rebuild",
142
+ "regenerate_credentials",
143
+ "remove_from_servergroup",
144
+ "replace_metadata",
145
+ "resize",
146
+ "resume",
147
+ "retype",
148
+ "revert",
149
+ "scale_down",
150
+ "scale_up",
151
+ "start",
152
+ "stop",
153
+ "suspend",
154
+ "update",
155
+ "update_metadata",
156
+ "upgrade",
157
+ ]
158
+ """Action type"""
159
+
160
+ api_group: Literal[
161
+ "ai_cluster",
162
+ "backup_service",
163
+ "caas_container",
164
+ "caas_key",
165
+ "caas_pull_secret",
166
+ "dbaas_postgres",
167
+ "ddos_profile",
168
+ "faas_function",
169
+ "faas_key",
170
+ "faas_namespace",
171
+ "file_shares",
172
+ "floating_ip",
173
+ "image",
174
+ "inference_at_the_edge",
175
+ "instance",
176
+ "instance_isolation",
177
+ "k8s_cluster",
178
+ "k8s_cluster_template",
179
+ "k8s_pool",
180
+ "laas",
181
+ "laas_topic",
182
+ "lb_health_monitor",
183
+ "lb_l7policy",
184
+ "lb_l7rule",
185
+ "lblistener",
186
+ "lbpool",
187
+ "lbpool_member",
188
+ "lifecycle_policy",
189
+ "lifecycle_policy_volume_member",
190
+ "loadbalancer",
191
+ "network",
192
+ "port",
193
+ "project",
194
+ "quota_limit_request",
195
+ "registry",
196
+ "reservation",
197
+ "reserved_fixed_ip",
198
+ "role",
199
+ "router",
200
+ "secret",
201
+ "securitygroup",
202
+ "securitygrouprule",
203
+ "servergroup",
204
+ "shared_flavor",
205
+ "shared_image",
206
+ "shared_network",
207
+ "snapshot",
208
+ "snapshot_schedule",
209
+ "ssh_key",
210
+ "subnet",
211
+ "user",
212
+ "vip_ip_addresses",
213
+ "volume",
214
+ ]
215
+ """API group"""
216
+
217
+ client_id: Optional[int] = None
218
+ """Client ID of the user."""
219
+
220
+ email: Optional[str] = None
221
+ """User email address"""
222
+
223
+ is_complete: bool
224
+ """User action was filled with all necessary information.
225
+
226
+ If false, then something went wrong during user action creation or update
227
+ """
228
+
229
+ issued_by_user_id: Optional[int] = None
230
+ """User ID who issued the token that made the request"""
231
+
232
+ project_id: Optional[int] = None
233
+ """Project ID"""
234
+
235
+ region_id: Optional[int] = None
236
+ """Region ID"""
237
+
238
+ resources: List[Resource]
239
+ """Resources"""
240
+
241
+ task_id: Optional[str] = None
242
+ """Task ID"""
243
+
244
+ timestamp: datetime
245
+ """Datetime. Action timestamp"""
246
+
247
+ token_id: Optional[int] = None
248
+ """Token ID"""
249
+
250
+ total_price: Optional[TotalPrice] = None
251
+ """Total resource price VAT inclusive"""
252
+
253
+ user_id: int
254
+ """User ID"""
@@ -0,0 +1,158 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import List, Union, Iterable
6
+ from datetime import datetime
7
+ from typing_extensions import Literal, Annotated, TypedDict
8
+
9
+ from ..._utils import PropertyInfo
10
+
11
+ __all__ = ["AuditLogListParams"]
12
+
13
+
14
+ class AuditLogListParams(TypedDict, total=False):
15
+ action_type: List[
16
+ Literal[
17
+ "activate",
18
+ "attach",
19
+ "change_logging_resources",
20
+ "create",
21
+ "create_access_rule",
22
+ "deactivate",
23
+ "delete",
24
+ "delete_access_rule",
25
+ "delete_metadata",
26
+ "detach",
27
+ "disable_logging",
28
+ "disable_portsecurity",
29
+ "download",
30
+ "enable_logging",
31
+ "enable_portsecurity",
32
+ "failover",
33
+ "put_into_servergroup",
34
+ "reboot",
35
+ "reboot_hard",
36
+ "rebuild",
37
+ "regenerate_credentials",
38
+ "remove_from_servergroup",
39
+ "replace_metadata",
40
+ "resize",
41
+ "resume",
42
+ "retype",
43
+ "revert",
44
+ "scale_down",
45
+ "scale_up",
46
+ "start",
47
+ "stop",
48
+ "suspend",
49
+ "update",
50
+ "update_metadata",
51
+ "upgrade",
52
+ ]
53
+ ]
54
+ """User action type. Several options can be specified."""
55
+
56
+ api_group: List[
57
+ Literal[
58
+ "ai_cluster",
59
+ "backup_service",
60
+ "caas_container",
61
+ "caas_key",
62
+ "caas_pull_secret",
63
+ "dbaas_postgres",
64
+ "ddos_profile",
65
+ "faas_function",
66
+ "faas_key",
67
+ "faas_namespace",
68
+ "file_shares",
69
+ "floating_ip",
70
+ "image",
71
+ "inference_at_the_edge",
72
+ "instance",
73
+ "instance_isolation",
74
+ "k8s_cluster",
75
+ "k8s_cluster_template",
76
+ "k8s_pool",
77
+ "laas",
78
+ "laas_topic",
79
+ "lb_health_monitor",
80
+ "lb_l7policy",
81
+ "lb_l7rule",
82
+ "lblistener",
83
+ "lbpool",
84
+ "lbpool_member",
85
+ "lifecycle_policy",
86
+ "lifecycle_policy_volume_member",
87
+ "loadbalancer",
88
+ "network",
89
+ "port",
90
+ "project",
91
+ "quota_limit_request",
92
+ "registry",
93
+ "reservation",
94
+ "reserved_fixed_ip",
95
+ "role",
96
+ "router",
97
+ "secret",
98
+ "securitygroup",
99
+ "securitygrouprule",
100
+ "servergroup",
101
+ "shared_flavor",
102
+ "shared_image",
103
+ "shared_network",
104
+ "snapshot",
105
+ "snapshot_schedule",
106
+ "ssh_key",
107
+ "subnet",
108
+ "user",
109
+ "vip_ip_addresses",
110
+ "volume",
111
+ ]
112
+ ]
113
+ """API group that requested action belongs to. Several options can be specified."""
114
+
115
+ from_timestamp: Annotated[Union[str, datetime], PropertyInfo(format="iso8601")]
116
+ """ISO formatted datetime string.
117
+
118
+ Starting timestamp from which user actions are requested
119
+ """
120
+
121
+ limit: int
122
+ """Optional. Limit the number of returned items"""
123
+
124
+ offset: int
125
+ """Optional.
126
+
127
+ Offset value is used to exclude the first set of records from the result
128
+ """
129
+
130
+ order_by: Literal["asc", "desc"]
131
+ """Sorting by timestamp. Oldest first, or most recent first"""
132
+
133
+ project_id: Iterable[int]
134
+ """Project ID. Several options can be specified."""
135
+
136
+ region_id: Iterable[int]
137
+ """Region ID. Several options can be specified."""
138
+
139
+ resource_id: List[str]
140
+ """Resource ID. Several options can be specified."""
141
+
142
+ search_field: str
143
+ """
144
+ Extra search field for common object properties such as name, IP address, or
145
+ other, depending on the `resource_type`
146
+ """
147
+
148
+ sorting: Literal["asc", "desc"]
149
+ """(DEPRECATED Use '`order_by`' instead) Sorting by timestamp.
150
+
151
+ Oldest first, or most recent first
152
+ """
153
+
154
+ to_timestamp: Annotated[Union[str, datetime], PropertyInfo(format="iso8601")]
155
+ """ISO formatted datetime string.
156
+
157
+ Ending timestamp until which user actions are requested
158
+ """