gcore 0.13.0__py3-none-any.whl → 0.15.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 (345) hide show
  1. gcore/__init__.py +3 -1
  2. gcore/_base_client.py +9 -9
  3. gcore/_client.py +25 -10
  4. gcore/_models.py +10 -4
  5. gcore/_qs.py +7 -7
  6. gcore/_types.py +18 -11
  7. gcore/_utils/_transform.py +2 -2
  8. gcore/_utils/_utils.py +4 -4
  9. gcore/_version.py +1 -1
  10. gcore/pagination.py +137 -0
  11. gcore/resources/__init__.py +14 -0
  12. gcore/resources/cdn/__init__.py +201 -0
  13. gcore/resources/cdn/audit_log.py +406 -0
  14. gcore/resources/cdn/cdn.py +957 -0
  15. gcore/resources/cdn/certificates.py +1062 -0
  16. gcore/resources/cdn/ip_ranges.py +224 -0
  17. gcore/resources/cdn/logs/__init__.py +33 -0
  18. gcore/resources/cdn/logs/logs.py +1424 -0
  19. gcore/resources/cdn/logs/settings.py +1081 -0
  20. gcore/resources/cdn/logs_uploader/__init__.py +61 -0
  21. gcore/resources/cdn/logs_uploader/configs.py +868 -0
  22. gcore/resources/cdn/logs_uploader/logs_uploader.py +166 -0
  23. gcore/resources/cdn/logs_uploader/policies.py +1060 -0
  24. gcore/resources/cdn/logs_uploader/targets.py +811 -0
  25. gcore/resources/cdn/metrics.py +419 -0
  26. gcore/resources/cdn/network_capacity.py +139 -0
  27. gcore/resources/cdn/origin_groups.py +1496 -0
  28. gcore/resources/cdn/resources/__init__.py +47 -0
  29. gcore/resources/cdn/resources/resources.py +2060 -0
  30. gcore/resources/cdn/resources/rules.py +1027 -0
  31. gcore/resources/cdn/resources/shield.py +259 -0
  32. gcore/resources/cdn/rule_templates.py +883 -0
  33. gcore/resources/cdn/shields.py +139 -0
  34. gcore/resources/cdn/statistics.py +1408 -0
  35. gcore/resources/cdn/trusted_ca_certificates.py +592 -0
  36. gcore/resources/cloud/audit_logs.py +33 -29
  37. gcore/resources/cloud/baremetal/flavors.py +21 -17
  38. gcore/resources/cloud/baremetal/images.py +19 -15
  39. gcore/resources/cloud/baremetal/servers.py +141 -119
  40. gcore/resources/cloud/billing_reservations.py +41 -33
  41. gcore/resources/cloud/cloud.py +24 -0
  42. gcore/resources/cloud/cost_reports.py +149 -119
  43. gcore/resources/cloud/file_shares/access_rules.py +25 -13
  44. gcore/resources/cloud/file_shares/file_shares.py +107 -71
  45. gcore/resources/cloud/floating_ips.py +101 -59
  46. gcore/resources/cloud/gpu_baremetal_clusters/flavors.py +13 -9
  47. gcore/resources/cloud/gpu_baremetal_clusters/gpu_baremetal_clusters.py +275 -65
  48. gcore/resources/cloud/gpu_baremetal_clusters/images.py +69 -53
  49. gcore/resources/cloud/gpu_baremetal_clusters/interfaces.py +9 -5
  50. gcore/resources/cloud/gpu_baremetal_clusters/servers.py +151 -127
  51. gcore/resources/cloud/inference/api_keys.py +51 -31
  52. gcore/resources/cloud/inference/applications/deployments.py +49 -31
  53. gcore/resources/cloud/inference/applications/templates.py +17 -9
  54. gcore/resources/cloud/inference/deployments/deployments.py +171 -139
  55. gcore/resources/cloud/inference/deployments/logs.py +17 -13
  56. gcore/resources/cloud/inference/flavors.py +21 -13
  57. gcore/resources/cloud/inference/inference.py +9 -5
  58. gcore/resources/cloud/inference/registry_credentials.py +45 -25
  59. gcore/resources/cloud/inference/secrets.py +45 -25
  60. gcore/resources/cloud/instances/flavors.py +17 -13
  61. gcore/resources/cloud/instances/images.py +153 -129
  62. gcore/resources/cloud/instances/instances.py +287 -213
  63. gcore/resources/cloud/instances/interfaces.py +165 -161
  64. gcore/resources/cloud/instances/metrics.py +9 -5
  65. gcore/resources/cloud/ip_ranges.py +25 -15
  66. gcore/resources/cloud/k8s/clusters/clusters.py +151 -87
  67. gcore/resources/cloud/k8s/clusters/nodes.py +19 -11
  68. gcore/resources/cloud/k8s/clusters/pools/nodes.py +19 -11
  69. gcore/resources/cloud/k8s/clusters/pools/pools.py +83 -59
  70. gcore/resources/cloud/k8s/flavors.py +13 -9
  71. gcore/resources/cloud/k8s/k8s.py +9 -5
  72. gcore/resources/cloud/load_balancers/flavors.py +11 -7
  73. gcore/resources/cloud/load_balancers/l7_policies/l7_policies.py +103 -83
  74. gcore/resources/cloud/load_balancers/l7_policies/rules.py +77 -57
  75. gcore/resources/cloud/load_balancers/listeners.py +125 -105
  76. gcore/resources/cloud/load_balancers/load_balancers.py +155 -123
  77. gcore/resources/cloud/load_balancers/metrics.py +9 -5
  78. gcore/resources/cloud/load_balancers/pools/health_monitors.py +25 -17
  79. gcore/resources/cloud/load_balancers/pools/members.py +31 -23
  80. gcore/resources/cloud/load_balancers/pools/pools.py +155 -129
  81. gcore/resources/cloud/load_balancers/statuses.py +17 -9
  82. gcore/resources/cloud/networks/networks.py +79 -55
  83. gcore/resources/cloud/networks/routers.py +75 -47
  84. gcore/resources/cloud/networks/subnets.py +109 -87
  85. gcore/resources/cloud/placement_groups.py +33 -17
  86. gcore/resources/cloud/projects.py +53 -41
  87. gcore/resources/cloud/quotas/quotas.py +25 -13
  88. gcore/resources/cloud/quotas/requests.py +41 -25
  89. gcore/resources/cloud/regions.py +25 -23
  90. gcore/resources/cloud/registries/artifacts.py +17 -9
  91. gcore/resources/cloud/registries/registries.py +55 -29
  92. gcore/resources/cloud/registries/repositories.py +17 -9
  93. gcore/resources/cloud/registries/tags.py +9 -5
  94. gcore/resources/cloud/registries/users.py +65 -35
  95. gcore/resources/cloud/reserved_fixed_ips/reserved_fixed_ips.py +233 -108
  96. gcore/resources/cloud/reserved_fixed_ips/vip.py +45 -25
  97. gcore/resources/cloud/secrets.py +43 -27
  98. gcore/resources/cloud/security_groups/rules.py +55 -43
  99. gcore/resources/cloud/security_groups/security_groups.py +79 -47
  100. gcore/resources/cloud/ssh_keys.py +51 -31
  101. gcore/resources/cloud/tasks.py +57 -45
  102. gcore/resources/cloud/usage_reports.py +27 -23
  103. gcore/resources/cloud/users/role_assignments.py +49 -33
  104. gcore/resources/cloud/volumes.py +237 -201
  105. gcore/resources/dns/dns.py +17 -13
  106. gcore/resources/dns/locations.py +29 -17
  107. gcore/resources/dns/metrics.py +13 -9
  108. gcore/resources/dns/pickers/pickers.py +5 -5
  109. gcore/resources/dns/pickers/presets.py +9 -5
  110. gcore/resources/dns/zones/dnssec.py +19 -11
  111. gcore/resources/dns/zones/rrsets.py +149 -91
  112. gcore/resources/dns/zones/zones.py +245 -187
  113. gcore/resources/fastedge/apps/apps.py +105 -89
  114. gcore/resources/fastedge/apps/logs.py +25 -21
  115. gcore/resources/fastedge/binaries.py +33 -17
  116. gcore/resources/fastedge/fastedge.py +5 -5
  117. gcore/resources/fastedge/kv_stores.py +43 -31
  118. gcore/resources/fastedge/secrets.py +69 -45
  119. gcore/resources/fastedge/statistics.py +25 -17
  120. gcore/resources/fastedge/templates.py +59 -39
  121. gcore/resources/iam/api_tokens.py +47 -29
  122. gcore/resources/iam/iam.py +5 -5
  123. gcore/resources/iam/users.py +97 -65
  124. gcore/resources/security/bgp_announces.py +27 -19
  125. gcore/resources/security/events.py +23 -19
  126. gcore/resources/security/profile_templates.py +9 -5
  127. gcore/resources/security/profiles.py +69 -45
  128. gcore/resources/storage/buckets/buckets.py +37 -25
  129. gcore/resources/storage/buckets/cors.py +19 -11
  130. gcore/resources/storage/buckets/lifecycle.py +19 -11
  131. gcore/resources/storage/buckets/policy.py +25 -13
  132. gcore/resources/storage/credentials.py +19 -15
  133. gcore/resources/storage/locations.py +13 -9
  134. gcore/resources/storage/statistics.py +39 -31
  135. gcore/resources/storage/storage.py +105 -69
  136. gcore/resources/streaming/ai_tasks.py +307 -197
  137. gcore/resources/streaming/broadcasts.py +63 -35
  138. gcore/resources/streaming/directories.py +65 -39
  139. gcore/resources/streaming/players.py +47 -31
  140. gcore/resources/streaming/playlists.py +189 -123
  141. gcore/resources/streaming/quality_sets.py +69 -39
  142. gcore/resources/streaming/restreams.py +47 -27
  143. gcore/resources/streaming/statistics.py +613 -407
  144. gcore/resources/streaming/streams/overlays.py +107 -67
  145. gcore/resources/streaming/streams/streams.py +403 -263
  146. gcore/resources/streaming/videos/subtitles.py +131 -75
  147. gcore/resources/streaming/videos/videos.py +429 -279
  148. gcore/resources/waap/advanced_rules.py +9 -5
  149. gcore/resources/waap/custom_page_sets.py +99 -75
  150. gcore/resources/waap/domains/advanced_rules.py +157 -99
  151. gcore/resources/waap/domains/api_discovery.py +71 -47
  152. gcore/resources/waap/domains/api_path_groups.py +9 -5
  153. gcore/resources/waap/domains/api_paths.py +79 -83
  154. gcore/resources/waap/domains/custom_rules.py +89 -59
  155. gcore/resources/waap/domains/domains.py +59 -41
  156. gcore/resources/waap/domains/firewall_rules.py +83 -55
  157. gcore/resources/waap/domains/insight_silences.py +59 -39
  158. gcore/resources/waap/domains/insights.py +39 -27
  159. gcore/resources/waap/domains/settings.py +21 -13
  160. gcore/resources/waap/domains/statistics.py +99 -75
  161. gcore/resources/waap/insights.py +23 -21
  162. gcore/resources/waap/ip_info/ip_info.py +65 -33
  163. gcore/resources/waap/ip_info/metrics.py +11 -7
  164. gcore/resources/waap/organizations.py +17 -13
  165. gcore/resources/waap/statistics.py +9 -5
  166. gcore/resources/waap/tags.py +17 -17
  167. gcore/resources/waap/waap.py +5 -5
  168. gcore/types/cdn/__init__.py +80 -0
  169. gcore/types/cdn/audit_log_list_params.py +73 -0
  170. gcore/types/cdn/ca_certificate.py +53 -0
  171. gcore/types/cdn/ca_certificate_list.py +10 -0
  172. gcore/types/cdn/cdn_account.py +86 -0
  173. gcore/types/cdn/cdn_account_limits.py +27 -0
  174. gcore/types/cdn/cdn_audit_log_entry.py +66 -0
  175. gcore/types/cdn/cdn_available_features.py +46 -0
  176. gcore/types/cdn/cdn_list_purge_statuses_params.py +67 -0
  177. gcore/types/cdn/cdn_log_entry.py +70 -0
  178. gcore/types/cdn/cdn_metrics.py +22 -0
  179. gcore/types/cdn/cdn_metrics_groups.py +13 -0
  180. gcore/types/cdn/cdn_metrics_values.py +19 -0
  181. gcore/types/cdn/cdn_resource.py +1997 -0
  182. gcore/types/cdn/cdn_resource_list.py +10 -0
  183. gcore/types/cdn/cdn_update_account_params.py +15 -0
  184. gcore/types/cdn/certificate_create_params.py +51 -0
  185. gcore/types/cdn/certificate_get_status_params.py +14 -0
  186. gcore/types/cdn/certificate_list_params.py +29 -0
  187. gcore/types/cdn/certificate_replace_params.py +39 -0
  188. gcore/types/cdn/log_download_params.py +279 -0
  189. gcore/types/cdn/log_list_params.py +273 -0
  190. gcore/types/cdn/logs/__init__.py +7 -0
  191. gcore/types/cdn/logs/log_settings.py +172 -0
  192. gcore/types/cdn/logs/setting_create_params.py +200 -0
  193. gcore/types/cdn/logs/setting_update_params.py +200 -0
  194. gcore/types/cdn/logs_aggregated_stats.py +23 -0
  195. gcore/types/cdn/logs_uploader/__init__.py +23 -0
  196. gcore/types/cdn/logs_uploader/config_create_params.py +32 -0
  197. gcore/types/cdn/logs_uploader/config_list_params.py +16 -0
  198. gcore/types/cdn/logs_uploader/config_replace_params.py +32 -0
  199. gcore/types/cdn/logs_uploader/config_update_params.py +32 -0
  200. gcore/types/cdn/logs_uploader/logs_uploader_config.py +51 -0
  201. gcore/types/cdn/logs_uploader/logs_uploader_config_list.py +10 -0
  202. gcore/types/cdn/logs_uploader/logs_uploader_policy.py +73 -0
  203. gcore/types/cdn/logs_uploader/logs_uploader_policy_list.py +10 -0
  204. gcore/types/cdn/logs_uploader/logs_uploader_target.py +236 -0
  205. gcore/types/cdn/logs_uploader/logs_uploader_target_list.py +10 -0
  206. gcore/types/cdn/logs_uploader/policy_create_params.py +61 -0
  207. gcore/types/cdn/logs_uploader/policy_list_fields_response.py +8 -0
  208. gcore/types/cdn/logs_uploader/policy_list_params.py +16 -0
  209. gcore/types/cdn/logs_uploader/policy_replace_params.py +61 -0
  210. gcore/types/cdn/logs_uploader/policy_update_params.py +61 -0
  211. gcore/types/cdn/logs_uploader/target_create_params.py +249 -0
  212. gcore/types/cdn/logs_uploader/target_list_params.py +16 -0
  213. gcore/types/cdn/logs_uploader/target_replace_params.py +249 -0
  214. gcore/types/cdn/logs_uploader/target_update_params.py +249 -0
  215. gcore/types/cdn/logs_uploader_validation.py +23 -0
  216. gcore/types/cdn/metric_list_params.py +168 -0
  217. gcore/types/cdn/network_capacity.py +22 -0
  218. gcore/types/cdn/origin_group_create_params.py +184 -0
  219. gcore/types/cdn/origin_group_list_params.py +24 -0
  220. gcore/types/cdn/origin_group_replace_params.py +190 -0
  221. gcore/types/cdn/origin_group_update_params.py +190 -0
  222. gcore/types/cdn/origin_groups.py +212 -0
  223. gcore/types/cdn/origin_groups_list.py +10 -0
  224. gcore/types/cdn/public_ip_list.py +15 -0
  225. gcore/types/cdn/public_network_list.py +15 -0
  226. gcore/types/cdn/purge_status.py +55 -0
  227. gcore/types/cdn/resource_aggregated_stats.py +80 -0
  228. gcore/types/cdn/resource_create_params.py +1845 -0
  229. gcore/types/cdn/resource_list_params.py +107 -0
  230. gcore/types/cdn/resource_prefetch_params.py +17 -0
  231. gcore/types/cdn/resource_purge_params.py +71 -0
  232. gcore/types/cdn/resource_replace_params.py +1823 -0
  233. gcore/types/cdn/resource_update_params.py +1814 -0
  234. gcore/types/cdn/resource_usage_stats.py +111 -0
  235. gcore/types/cdn/resources/__init__.py +11 -0
  236. gcore/types/cdn/resources/cdn_resource_rule.py +1715 -0
  237. gcore/types/cdn/resources/origin_shielding.py +15 -0
  238. gcore/types/cdn/resources/rule_create_params.py +1672 -0
  239. gcore/types/cdn/resources/rule_list_response.py +10 -0
  240. gcore/types/cdn/resources/rule_replace_params.py +1674 -0
  241. gcore/types/cdn/resources/rule_update_params.py +1674 -0
  242. gcore/types/cdn/resources/shield_replace_params.py +16 -0
  243. gcore/types/cdn/rule_template.py +1686 -0
  244. gcore/types/cdn/rule_template_create_params.py +1656 -0
  245. gcore/types/cdn/rule_template_list.py +10 -0
  246. gcore/types/cdn/rule_template_replace_params.py +1656 -0
  247. gcore/types/cdn/rule_template_update_params.py +1656 -0
  248. gcore/types/cdn/shield_aggregated_stats.py +23 -0
  249. gcore/types/cdn/shield_list_response.py +25 -0
  250. gcore/types/cdn/ssl_detail.py +62 -0
  251. gcore/types/cdn/ssl_detail_list.py +10 -0
  252. gcore/types/cdn/ssl_request_status.py +135 -0
  253. gcore/types/cdn/statistic_get_logs_usage_aggregated_params.py +42 -0
  254. gcore/types/cdn/statistic_get_logs_usage_series_params.py +35 -0
  255. gcore/types/cdn/statistic_get_resource_usage_aggregated_params.py +151 -0
  256. gcore/types/cdn/statistic_get_resource_usage_series_params.py +131 -0
  257. gcore/types/cdn/statistic_get_shield_usage_aggregated_params.py +42 -0
  258. gcore/types/cdn/statistic_get_shield_usage_series_params.py +25 -0
  259. gcore/types/cdn/trusted_ca_certificate_create_params.py +23 -0
  260. gcore/types/cdn/trusted_ca_certificate_list_params.py +29 -0
  261. gcore/types/cdn/trusted_ca_certificate_replace_params.py +15 -0
  262. gcore/types/cdn/usage_series_stats.py +31 -0
  263. gcore/types/cloud/__init__.py +2 -0
  264. gcore/types/cloud/file_share.py +4 -0
  265. gcore/types/cloud/file_share_create_params.py +20 -0
  266. gcore/types/cloud/file_share_update_params.py +40 -3
  267. gcore/types/cloud/floating_ip_update_params.py +3 -1
  268. gcore/types/cloud/gpu_baremetal_cluster_action_params.py +46 -0
  269. gcore/types/cloud/gpu_baremetal_clusters/gpu_baremetal_flavor.py +12 -0
  270. gcore/types/cloud/inference/inference_deployment.py +3 -1
  271. gcore/types/cloud/instance_create_params.py +3 -1
  272. gcore/types/cloud/k8s/cluster_create_params.py +46 -4
  273. gcore/types/cloud/k8s/cluster_update_params.py +60 -6
  274. gcore/types/cloud/k8s/clusters/pool_update_params.py +1 -1
  275. gcore/types/cloud/k8s/k8s_cluster.py +40 -3
  276. gcore/types/cloud/load_balancer_update_params.py +3 -1
  277. gcore/types/cloud/network_update_params.py +3 -1
  278. gcore/types/cloud/networks/subnet_update_params.py +3 -1
  279. gcore/types/cloud/quota_get_all_response.py +8 -8
  280. gcore/types/cloud/quota_get_by_region_response.py +8 -8
  281. gcore/types/cloud/quotas/request_create_params.py +4 -4
  282. gcore/types/cloud/quotas/request_get_response.py +4 -4
  283. gcore/types/cloud/quotas/request_list_response.py +4 -4
  284. gcore/types/cloud/registries/user_create_multiple_params.py +5 -3
  285. gcore/types/cloud/registries/user_create_params.py +5 -3
  286. gcore/types/cloud/registry_create_params.py +5 -3
  287. gcore/types/cloud/reserved_fixed_ip_update_params.py +16 -0
  288. gcore/types/cloud/security_group_update_params.py +3 -1
  289. gcore/types/cloud/ssh_key_created.py +6 -3
  290. gcore/types/cloud/volume_update_params.py +3 -1
  291. gcore/types/dns/zone_get_statistics_params.py +12 -9
  292. gcore/types/dns/zone_get_statistics_response.py +3 -1
  293. gcore/types/dns/zone_import_params.py +21 -15
  294. gcore/types/dns/zones/dns_output_rrset.py +7 -3
  295. gcore/types/iam/account_overview.py +31 -28
  296. gcore/types/iam/api_token.py +24 -24
  297. gcore/types/iam/api_token_create_params.py +2 -1
  298. gcore/types/iam/api_token_list.py +24 -24
  299. gcore/types/iam/user.py +7 -2
  300. gcore/types/iam/user_detailed.py +22 -17
  301. gcore/types/iam/user_invite.py +2 -4
  302. gcore/types/iam/user_invite_params.py +4 -1
  303. gcore/types/iam/user_update.py +22 -17
  304. gcore/types/iam/user_update_params.py +7 -2
  305. gcore/types/streaming/ai_contentmoderation_hardnudity.py +6 -4
  306. gcore/types/streaming/ai_contentmoderation_nsfw.py +6 -4
  307. gcore/types/streaming/ai_contentmoderation_softnudity.py +6 -4
  308. gcore/types/streaming/ai_contentmoderation_sport.py +6 -4
  309. gcore/types/streaming/ai_task.py +20 -11
  310. gcore/types/streaming/ai_task_create_params.py +20 -11
  311. gcore/types/streaming/ai_task_get_response.py +5 -4
  312. gcore/types/streaming/ai_task_list_params.py +11 -5
  313. gcore/types/streaming/clip.py +33 -22
  314. gcore/types/streaming/create_video_param.py +75 -43
  315. gcore/types/streaming/playlist.py +7 -5
  316. gcore/types/streaming/playlist_create_params.py +7 -5
  317. gcore/types/streaming/playlist_update_params.py +7 -5
  318. gcore/types/streaming/playlist_video.py +75 -43
  319. gcore/types/streaming/statistic_get_unique_viewers_cdn_params.py +7 -4
  320. gcore/types/streaming/stream.py +207 -136
  321. gcore/types/streaming/stream_create_clip_params.py +33 -22
  322. gcore/types/streaming/stream_create_params.py +41 -24
  323. gcore/types/streaming/stream_update_params.py +41 -24
  324. gcore/types/streaming/video.py +138 -76
  325. gcore/types/streaming/video_list_params.py +4 -2
  326. gcore/types/streaming/video_update_params.py +75 -43
  327. gcore/types/waap/domain_update_params.py +2 -2
  328. gcore/types/waap/domains/advanced_rule_create_params.py +26 -18
  329. gcore/types/waap/domains/advanced_rule_list_params.py +10 -7
  330. gcore/types/waap/domains/advanced_rule_update_params.py +22 -17
  331. gcore/types/waap/domains/api_path_create_params.py +0 -3
  332. gcore/types/waap/domains/api_path_update_params.py +1 -3
  333. gcore/types/waap/domains/custom_rule_create_params.py +36 -35
  334. gcore/types/waap/domains/custom_rule_update_params.py +31 -33
  335. gcore/types/waap/domains/firewall_rule_create_params.py +6 -6
  336. gcore/types/waap/domains/firewall_rule_update_params.py +5 -5
  337. gcore/types/waap/domains/waap_advanced_rule.py +17 -9
  338. gcore/types/waap/domains/waap_custom_rule.py +5 -2
  339. gcore/types/waap/domains/waap_firewall_rule.py +1 -1
  340. gcore/types/waap/domains/waap_insight.py +1 -1
  341. gcore/types/waap/insight_list_types_params.py +1 -1
  342. {gcore-0.13.0.dist-info → gcore-0.15.0.dist-info}/METADATA +1 -1
  343. {gcore-0.13.0.dist-info → gcore-0.15.0.dist-info}/RECORD +345 -224
  344. {gcore-0.13.0.dist-info → gcore-0.15.0.dist-info}/WHEEL +0 -0
  345. {gcore-0.13.0.dist-info → gcore-0.15.0.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,957 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ import httpx
6
+
7
+ from .metrics import (
8
+ MetricsResource,
9
+ AsyncMetricsResource,
10
+ MetricsResourceWithRawResponse,
11
+ AsyncMetricsResourceWithRawResponse,
12
+ MetricsResourceWithStreamingResponse,
13
+ AsyncMetricsResourceWithStreamingResponse,
14
+ )
15
+ from .shields import (
16
+ ShieldsResource,
17
+ AsyncShieldsResource,
18
+ ShieldsResourceWithRawResponse,
19
+ AsyncShieldsResourceWithRawResponse,
20
+ ShieldsResourceWithStreamingResponse,
21
+ AsyncShieldsResourceWithStreamingResponse,
22
+ )
23
+ from ..._types import Body, Omit, Query, Headers, NotGiven, omit, not_given
24
+ from ..._utils import maybe_transform, async_maybe_transform
25
+ from ..._compat import cached_property
26
+ from .audit_log import (
27
+ AuditLogResource,
28
+ AsyncAuditLogResource,
29
+ AuditLogResourceWithRawResponse,
30
+ AsyncAuditLogResourceWithRawResponse,
31
+ AuditLogResourceWithStreamingResponse,
32
+ AsyncAuditLogResourceWithStreamingResponse,
33
+ )
34
+ from .ip_ranges import (
35
+ IPRangesResource,
36
+ AsyncIPRangesResource,
37
+ IPRangesResourceWithRawResponse,
38
+ AsyncIPRangesResourceWithRawResponse,
39
+ IPRangesResourceWithStreamingResponse,
40
+ AsyncIPRangesResourceWithStreamingResponse,
41
+ )
42
+ from .logs.logs import (
43
+ LogsResource,
44
+ AsyncLogsResource,
45
+ LogsResourceWithRawResponse,
46
+ AsyncLogsResourceWithRawResponse,
47
+ LogsResourceWithStreamingResponse,
48
+ AsyncLogsResourceWithStreamingResponse,
49
+ )
50
+ from .statistics import (
51
+ StatisticsResource,
52
+ AsyncStatisticsResource,
53
+ StatisticsResourceWithRawResponse,
54
+ AsyncStatisticsResourceWithRawResponse,
55
+ StatisticsResourceWithStreamingResponse,
56
+ AsyncStatisticsResourceWithStreamingResponse,
57
+ )
58
+ from ..._resource import SyncAPIResource, AsyncAPIResource
59
+ from ..._response import (
60
+ to_raw_response_wrapper,
61
+ to_streamed_response_wrapper,
62
+ async_to_raw_response_wrapper,
63
+ async_to_streamed_response_wrapper,
64
+ )
65
+ from ...types.cdn import cdn_update_account_params, cdn_list_purge_statuses_params
66
+ from ...pagination import SyncOffsetPageCdn, AsyncOffsetPageCdn
67
+ from .certificates import (
68
+ CertificatesResource,
69
+ AsyncCertificatesResource,
70
+ CertificatesResourceWithRawResponse,
71
+ AsyncCertificatesResourceWithRawResponse,
72
+ CertificatesResourceWithStreamingResponse,
73
+ AsyncCertificatesResourceWithStreamingResponse,
74
+ )
75
+ from .origin_groups import (
76
+ OriginGroupsResource,
77
+ AsyncOriginGroupsResource,
78
+ OriginGroupsResourceWithRawResponse,
79
+ AsyncOriginGroupsResourceWithRawResponse,
80
+ OriginGroupsResourceWithStreamingResponse,
81
+ AsyncOriginGroupsResourceWithStreamingResponse,
82
+ )
83
+ from ..._base_client import AsyncPaginator, make_request_options
84
+ from .rule_templates import (
85
+ RuleTemplatesResource,
86
+ AsyncRuleTemplatesResource,
87
+ RuleTemplatesResourceWithRawResponse,
88
+ AsyncRuleTemplatesResourceWithRawResponse,
89
+ RuleTemplatesResourceWithStreamingResponse,
90
+ AsyncRuleTemplatesResourceWithStreamingResponse,
91
+ )
92
+ from .network_capacity import (
93
+ NetworkCapacityResource,
94
+ AsyncNetworkCapacityResource,
95
+ NetworkCapacityResourceWithRawResponse,
96
+ AsyncNetworkCapacityResourceWithRawResponse,
97
+ NetworkCapacityResourceWithStreamingResponse,
98
+ AsyncNetworkCapacityResourceWithStreamingResponse,
99
+ )
100
+ from .resources.resources import (
101
+ ResourcesResource,
102
+ AsyncResourcesResource,
103
+ ResourcesResourceWithRawResponse,
104
+ AsyncResourcesResourceWithRawResponse,
105
+ ResourcesResourceWithStreamingResponse,
106
+ AsyncResourcesResourceWithStreamingResponse,
107
+ )
108
+ from ...types.cdn.cdn_account import CdnAccount
109
+ from .trusted_ca_certificates import (
110
+ TrustedCaCertificatesResource,
111
+ AsyncTrustedCaCertificatesResource,
112
+ TrustedCaCertificatesResourceWithRawResponse,
113
+ AsyncTrustedCaCertificatesResourceWithRawResponse,
114
+ TrustedCaCertificatesResourceWithStreamingResponse,
115
+ AsyncTrustedCaCertificatesResourceWithStreamingResponse,
116
+ )
117
+ from ...types.cdn.purge_status import PurgeStatus
118
+ from .logs_uploader.logs_uploader import (
119
+ LogsUploaderResource,
120
+ AsyncLogsUploaderResource,
121
+ LogsUploaderResourceWithRawResponse,
122
+ AsyncLogsUploaderResourceWithRawResponse,
123
+ LogsUploaderResourceWithStreamingResponse,
124
+ AsyncLogsUploaderResourceWithStreamingResponse,
125
+ )
126
+ from ...types.cdn.cdn_account_limits import CdnAccountLimits
127
+ from ...types.cdn.cdn_available_features import CdnAvailableFeatures
128
+
129
+ __all__ = ["CdnResource", "AsyncCdnResource"]
130
+
131
+
132
+ class CdnResource(SyncAPIResource):
133
+ @cached_property
134
+ def resources(self) -> ResourcesResource:
135
+ return ResourcesResource(self._client)
136
+
137
+ @cached_property
138
+ def shields(self) -> ShieldsResource:
139
+ return ShieldsResource(self._client)
140
+
141
+ @cached_property
142
+ def origin_groups(self) -> OriginGroupsResource:
143
+ return OriginGroupsResource(self._client)
144
+
145
+ @cached_property
146
+ def rule_templates(self) -> RuleTemplatesResource:
147
+ return RuleTemplatesResource(self._client)
148
+
149
+ @cached_property
150
+ def certificates(self) -> CertificatesResource:
151
+ return CertificatesResource(self._client)
152
+
153
+ @cached_property
154
+ def trusted_ca_certificates(self) -> TrustedCaCertificatesResource:
155
+ return TrustedCaCertificatesResource(self._client)
156
+
157
+ @cached_property
158
+ def audit_log(self) -> AuditLogResource:
159
+ return AuditLogResource(self._client)
160
+
161
+ @cached_property
162
+ def logs(self) -> LogsResource:
163
+ return LogsResource(self._client)
164
+
165
+ @cached_property
166
+ def logs_uploader(self) -> LogsUploaderResource:
167
+ return LogsUploaderResource(self._client)
168
+
169
+ @cached_property
170
+ def statistics(self) -> StatisticsResource:
171
+ return StatisticsResource(self._client)
172
+
173
+ @cached_property
174
+ def network_capacity(self) -> NetworkCapacityResource:
175
+ return NetworkCapacityResource(self._client)
176
+
177
+ @cached_property
178
+ def metrics(self) -> MetricsResource:
179
+ return MetricsResource(self._client)
180
+
181
+ @cached_property
182
+ def ip_ranges(self) -> IPRangesResource:
183
+ return IPRangesResource(self._client)
184
+
185
+ @cached_property
186
+ def with_raw_response(self) -> CdnResourceWithRawResponse:
187
+ """
188
+ This property can be used as a prefix for any HTTP method call to return
189
+ the raw response object instead of the parsed content.
190
+
191
+ For more information, see https://www.github.com/G-Core/gcore-python#accessing-raw-response-data-eg-headers
192
+ """
193
+ return CdnResourceWithRawResponse(self)
194
+
195
+ @cached_property
196
+ def with_streaming_response(self) -> CdnResourceWithStreamingResponse:
197
+ """
198
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
199
+
200
+ For more information, see https://www.github.com/G-Core/gcore-python#with_streaming_response
201
+ """
202
+ return CdnResourceWithStreamingResponse(self)
203
+
204
+ def get_account_limits(
205
+ self,
206
+ *,
207
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
208
+ # The extra values given here take precedence over values defined on the client or passed to this method.
209
+ extra_headers: Headers | None = None,
210
+ extra_query: Query | None = None,
211
+ extra_body: Body | None = None,
212
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
213
+ ) -> CdnAccountLimits:
214
+ """Get information about CDN service limits."""
215
+ return self._get(
216
+ "/cdn/clients/me/limits"
217
+ if self._client._base_url_overridden
218
+ else "https://api.gcore.com//cdn/clients/me/limits",
219
+ options=make_request_options(
220
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
221
+ ),
222
+ cast_to=CdnAccountLimits,
223
+ )
224
+
225
+ def get_account_overview(
226
+ self,
227
+ *,
228
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
229
+ # The extra values given here take precedence over values defined on the client or passed to this method.
230
+ extra_headers: Headers | None = None,
231
+ extra_query: Query | None = None,
232
+ extra_body: Body | None = None,
233
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
234
+ ) -> CdnAccount:
235
+ """Get information about CDN service."""
236
+ return self._get(
237
+ "/cdn/clients/me" if self._client._base_url_overridden else "https://api.gcore.com//cdn/clients/me",
238
+ options=make_request_options(
239
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
240
+ ),
241
+ cast_to=CdnAccount,
242
+ )
243
+
244
+ def get_available_features(
245
+ self,
246
+ *,
247
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
248
+ # The extra values given here take precedence over values defined on the client or passed to this method.
249
+ extra_headers: Headers | None = None,
250
+ extra_query: Query | None = None,
251
+ extra_body: Body | None = None,
252
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
253
+ ) -> CdnAvailableFeatures:
254
+ """Get information about available CDN features."""
255
+ return self._get(
256
+ "/cdn/clients/me/features"
257
+ if self._client._base_url_overridden
258
+ else "https://api.gcore.com//cdn/clients/me/features",
259
+ options=make_request_options(
260
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
261
+ ),
262
+ cast_to=CdnAvailableFeatures,
263
+ )
264
+
265
+ def list_purge_statuses(
266
+ self,
267
+ *,
268
+ cname: str | Omit = omit,
269
+ from_created: str | Omit = omit,
270
+ limit: int | Omit = omit,
271
+ offset: int | Omit = omit,
272
+ purge_type: str | Omit = omit,
273
+ status: str | Omit = omit,
274
+ to_created: str | Omit = omit,
275
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
276
+ # The extra values given here take precedence over values defined on the client or passed to this method.
277
+ extra_headers: Headers | None = None,
278
+ extra_query: Query | None = None,
279
+ extra_body: Body | None = None,
280
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
281
+ ) -> SyncOffsetPageCdn[PurgeStatus]:
282
+ """
283
+ Get purges history.
284
+
285
+ Args:
286
+ cname: Purges associated with a specific resource CNAME.
287
+
288
+ Example:
289
+
290
+ - &cname=example.com
291
+
292
+ from_created: Start date and time of the requested time period (ISO 8601/RFC 3339 format,
293
+ UTC.)
294
+
295
+ Examples:
296
+
297
+ - &`from_created`=2021-06-14T00:00:00Z
298
+ - &`from_created`=2021-06-14T00:00:00.000Z
299
+
300
+ limit: Maximum number of purges in the response.
301
+
302
+ offset: Number of purge requests in the response to skip starting from the beginning of
303
+ the requested period.
304
+
305
+ purge_type: Purge requests with a certain purge type.
306
+
307
+ Possible values:
308
+
309
+ - **`purge_by_pattern`** - Purge by Pattern.
310
+ - **`purge_by_url`** - Purge by URL.
311
+ - **`purge_all`** - Purge All.
312
+
313
+ status: Purge with a certain status.
314
+
315
+ Possible values:
316
+
317
+ - **In progress**
318
+ - **Successful**
319
+ - **Failed**
320
+ - **Status report disabled**
321
+
322
+ to_created: End date and time of the requested time period (ISO 8601/RFC 3339 format, UTC.)
323
+
324
+ Examples:
325
+
326
+ - &`to_created`=2021-06-15T00:00:00Z
327
+ - &`to_created`=2021-06-15T00:00:00.000Z
328
+
329
+ extra_headers: Send extra headers
330
+
331
+ extra_query: Add additional query parameters to the request
332
+
333
+ extra_body: Add additional JSON properties to the request
334
+
335
+ timeout: Override the client-level default timeout for this request, in seconds
336
+ """
337
+ return self._get_api_list(
338
+ "/cdn/purge_statuses" if self._client._base_url_overridden else "https://api.gcore.com//cdn/purge_statuses",
339
+ page=SyncOffsetPageCdn[PurgeStatus],
340
+ options=make_request_options(
341
+ extra_headers=extra_headers,
342
+ extra_query=extra_query,
343
+ extra_body=extra_body,
344
+ timeout=timeout,
345
+ query=maybe_transform(
346
+ {
347
+ "cname": cname,
348
+ "from_created": from_created,
349
+ "limit": limit,
350
+ "offset": offset,
351
+ "purge_type": purge_type,
352
+ "status": status,
353
+ "to_created": to_created,
354
+ },
355
+ cdn_list_purge_statuses_params.CdnListPurgeStatusesParams,
356
+ ),
357
+ ),
358
+ model=PurgeStatus,
359
+ )
360
+
361
+ def update_account(
362
+ self,
363
+ *,
364
+ utilization_level: int | Omit = omit,
365
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
366
+ # The extra values given here take precedence over values defined on the client or passed to this method.
367
+ extra_headers: Headers | None = None,
368
+ extra_query: Query | None = None,
369
+ extra_body: Body | None = None,
370
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
371
+ ) -> CdnAccount:
372
+ """
373
+ Change information about CDN service.
374
+
375
+ Args:
376
+ utilization_level: CDN traffic usage limit in gigabytes.
377
+
378
+ When the limit is reached, we will send an email notification.
379
+
380
+ extra_headers: Send extra headers
381
+
382
+ extra_query: Add additional query parameters to the request
383
+
384
+ extra_body: Add additional JSON properties to the request
385
+
386
+ timeout: Override the client-level default timeout for this request, in seconds
387
+ """
388
+ return self._patch(
389
+ "/cdn/clients/me" if self._client._base_url_overridden else "https://api.gcore.com//cdn/clients/me",
390
+ body=maybe_transform(
391
+ {"utilization_level": utilization_level}, cdn_update_account_params.CdnUpdateAccountParams
392
+ ),
393
+ options=make_request_options(
394
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
395
+ ),
396
+ cast_to=CdnAccount,
397
+ )
398
+
399
+
400
+ class AsyncCdnResource(AsyncAPIResource):
401
+ @cached_property
402
+ def resources(self) -> AsyncResourcesResource:
403
+ return AsyncResourcesResource(self._client)
404
+
405
+ @cached_property
406
+ def shields(self) -> AsyncShieldsResource:
407
+ return AsyncShieldsResource(self._client)
408
+
409
+ @cached_property
410
+ def origin_groups(self) -> AsyncOriginGroupsResource:
411
+ return AsyncOriginGroupsResource(self._client)
412
+
413
+ @cached_property
414
+ def rule_templates(self) -> AsyncRuleTemplatesResource:
415
+ return AsyncRuleTemplatesResource(self._client)
416
+
417
+ @cached_property
418
+ def certificates(self) -> AsyncCertificatesResource:
419
+ return AsyncCertificatesResource(self._client)
420
+
421
+ @cached_property
422
+ def trusted_ca_certificates(self) -> AsyncTrustedCaCertificatesResource:
423
+ return AsyncTrustedCaCertificatesResource(self._client)
424
+
425
+ @cached_property
426
+ def audit_log(self) -> AsyncAuditLogResource:
427
+ return AsyncAuditLogResource(self._client)
428
+
429
+ @cached_property
430
+ def logs(self) -> AsyncLogsResource:
431
+ return AsyncLogsResource(self._client)
432
+
433
+ @cached_property
434
+ def logs_uploader(self) -> AsyncLogsUploaderResource:
435
+ return AsyncLogsUploaderResource(self._client)
436
+
437
+ @cached_property
438
+ def statistics(self) -> AsyncStatisticsResource:
439
+ return AsyncStatisticsResource(self._client)
440
+
441
+ @cached_property
442
+ def network_capacity(self) -> AsyncNetworkCapacityResource:
443
+ return AsyncNetworkCapacityResource(self._client)
444
+
445
+ @cached_property
446
+ def metrics(self) -> AsyncMetricsResource:
447
+ return AsyncMetricsResource(self._client)
448
+
449
+ @cached_property
450
+ def ip_ranges(self) -> AsyncIPRangesResource:
451
+ return AsyncIPRangesResource(self._client)
452
+
453
+ @cached_property
454
+ def with_raw_response(self) -> AsyncCdnResourceWithRawResponse:
455
+ """
456
+ This property can be used as a prefix for any HTTP method call to return
457
+ the raw response object instead of the parsed content.
458
+
459
+ For more information, see https://www.github.com/G-Core/gcore-python#accessing-raw-response-data-eg-headers
460
+ """
461
+ return AsyncCdnResourceWithRawResponse(self)
462
+
463
+ @cached_property
464
+ def with_streaming_response(self) -> AsyncCdnResourceWithStreamingResponse:
465
+ """
466
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
467
+
468
+ For more information, see https://www.github.com/G-Core/gcore-python#with_streaming_response
469
+ """
470
+ return AsyncCdnResourceWithStreamingResponse(self)
471
+
472
+ async def get_account_limits(
473
+ self,
474
+ *,
475
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
476
+ # The extra values given here take precedence over values defined on the client or passed to this method.
477
+ extra_headers: Headers | None = None,
478
+ extra_query: Query | None = None,
479
+ extra_body: Body | None = None,
480
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
481
+ ) -> CdnAccountLimits:
482
+ """Get information about CDN service limits."""
483
+ return await self._get(
484
+ "/cdn/clients/me/limits"
485
+ if self._client._base_url_overridden
486
+ else "https://api.gcore.com//cdn/clients/me/limits",
487
+ options=make_request_options(
488
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
489
+ ),
490
+ cast_to=CdnAccountLimits,
491
+ )
492
+
493
+ async def get_account_overview(
494
+ self,
495
+ *,
496
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
497
+ # The extra values given here take precedence over values defined on the client or passed to this method.
498
+ extra_headers: Headers | None = None,
499
+ extra_query: Query | None = None,
500
+ extra_body: Body | None = None,
501
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
502
+ ) -> CdnAccount:
503
+ """Get information about CDN service."""
504
+ return await self._get(
505
+ "/cdn/clients/me" if self._client._base_url_overridden else "https://api.gcore.com//cdn/clients/me",
506
+ options=make_request_options(
507
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
508
+ ),
509
+ cast_to=CdnAccount,
510
+ )
511
+
512
+ async def get_available_features(
513
+ self,
514
+ *,
515
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
516
+ # The extra values given here take precedence over values defined on the client or passed to this method.
517
+ extra_headers: Headers | None = None,
518
+ extra_query: Query | None = None,
519
+ extra_body: Body | None = None,
520
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
521
+ ) -> CdnAvailableFeatures:
522
+ """Get information about available CDN features."""
523
+ return await self._get(
524
+ "/cdn/clients/me/features"
525
+ if self._client._base_url_overridden
526
+ else "https://api.gcore.com//cdn/clients/me/features",
527
+ options=make_request_options(
528
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
529
+ ),
530
+ cast_to=CdnAvailableFeatures,
531
+ )
532
+
533
+ def list_purge_statuses(
534
+ self,
535
+ *,
536
+ cname: str | Omit = omit,
537
+ from_created: str | Omit = omit,
538
+ limit: int | Omit = omit,
539
+ offset: int | Omit = omit,
540
+ purge_type: str | Omit = omit,
541
+ status: str | Omit = omit,
542
+ to_created: str | Omit = omit,
543
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
544
+ # The extra values given here take precedence over values defined on the client or passed to this method.
545
+ extra_headers: Headers | None = None,
546
+ extra_query: Query | None = None,
547
+ extra_body: Body | None = None,
548
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
549
+ ) -> AsyncPaginator[PurgeStatus, AsyncOffsetPageCdn[PurgeStatus]]:
550
+ """
551
+ Get purges history.
552
+
553
+ Args:
554
+ cname: Purges associated with a specific resource CNAME.
555
+
556
+ Example:
557
+
558
+ - &cname=example.com
559
+
560
+ from_created: Start date and time of the requested time period (ISO 8601/RFC 3339 format,
561
+ UTC.)
562
+
563
+ Examples:
564
+
565
+ - &`from_created`=2021-06-14T00:00:00Z
566
+ - &`from_created`=2021-06-14T00:00:00.000Z
567
+
568
+ limit: Maximum number of purges in the response.
569
+
570
+ offset: Number of purge requests in the response to skip starting from the beginning of
571
+ the requested period.
572
+
573
+ purge_type: Purge requests with a certain purge type.
574
+
575
+ Possible values:
576
+
577
+ - **`purge_by_pattern`** - Purge by Pattern.
578
+ - **`purge_by_url`** - Purge by URL.
579
+ - **`purge_all`** - Purge All.
580
+
581
+ status: Purge with a certain status.
582
+
583
+ Possible values:
584
+
585
+ - **In progress**
586
+ - **Successful**
587
+ - **Failed**
588
+ - **Status report disabled**
589
+
590
+ to_created: End date and time of the requested time period (ISO 8601/RFC 3339 format, UTC.)
591
+
592
+ Examples:
593
+
594
+ - &`to_created`=2021-06-15T00:00:00Z
595
+ - &`to_created`=2021-06-15T00:00:00.000Z
596
+
597
+ extra_headers: Send extra headers
598
+
599
+ extra_query: Add additional query parameters to the request
600
+
601
+ extra_body: Add additional JSON properties to the request
602
+
603
+ timeout: Override the client-level default timeout for this request, in seconds
604
+ """
605
+ return self._get_api_list(
606
+ "/cdn/purge_statuses" if self._client._base_url_overridden else "https://api.gcore.com//cdn/purge_statuses",
607
+ page=AsyncOffsetPageCdn[PurgeStatus],
608
+ options=make_request_options(
609
+ extra_headers=extra_headers,
610
+ extra_query=extra_query,
611
+ extra_body=extra_body,
612
+ timeout=timeout,
613
+ query=maybe_transform(
614
+ {
615
+ "cname": cname,
616
+ "from_created": from_created,
617
+ "limit": limit,
618
+ "offset": offset,
619
+ "purge_type": purge_type,
620
+ "status": status,
621
+ "to_created": to_created,
622
+ },
623
+ cdn_list_purge_statuses_params.CdnListPurgeStatusesParams,
624
+ ),
625
+ ),
626
+ model=PurgeStatus,
627
+ )
628
+
629
+ async def update_account(
630
+ self,
631
+ *,
632
+ utilization_level: int | Omit = omit,
633
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
634
+ # The extra values given here take precedence over values defined on the client or passed to this method.
635
+ extra_headers: Headers | None = None,
636
+ extra_query: Query | None = None,
637
+ extra_body: Body | None = None,
638
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
639
+ ) -> CdnAccount:
640
+ """
641
+ Change information about CDN service.
642
+
643
+ Args:
644
+ utilization_level: CDN traffic usage limit in gigabytes.
645
+
646
+ When the limit is reached, we will send an email notification.
647
+
648
+ extra_headers: Send extra headers
649
+
650
+ extra_query: Add additional query parameters to the request
651
+
652
+ extra_body: Add additional JSON properties to the request
653
+
654
+ timeout: Override the client-level default timeout for this request, in seconds
655
+ """
656
+ return await self._patch(
657
+ "/cdn/clients/me" if self._client._base_url_overridden else "https://api.gcore.com//cdn/clients/me",
658
+ body=await async_maybe_transform(
659
+ {"utilization_level": utilization_level}, cdn_update_account_params.CdnUpdateAccountParams
660
+ ),
661
+ options=make_request_options(
662
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
663
+ ),
664
+ cast_to=CdnAccount,
665
+ )
666
+
667
+
668
+ class CdnResourceWithRawResponse:
669
+ def __init__(self, cdn: CdnResource) -> None:
670
+ self._cdn = cdn
671
+
672
+ self.get_account_limits = to_raw_response_wrapper(
673
+ cdn.get_account_limits,
674
+ )
675
+ self.get_account_overview = to_raw_response_wrapper(
676
+ cdn.get_account_overview,
677
+ )
678
+ self.get_available_features = to_raw_response_wrapper(
679
+ cdn.get_available_features,
680
+ )
681
+ self.list_purge_statuses = to_raw_response_wrapper(
682
+ cdn.list_purge_statuses,
683
+ )
684
+ self.update_account = to_raw_response_wrapper(
685
+ cdn.update_account,
686
+ )
687
+
688
+ @cached_property
689
+ def resources(self) -> ResourcesResourceWithRawResponse:
690
+ return ResourcesResourceWithRawResponse(self._cdn.resources)
691
+
692
+ @cached_property
693
+ def shields(self) -> ShieldsResourceWithRawResponse:
694
+ return ShieldsResourceWithRawResponse(self._cdn.shields)
695
+
696
+ @cached_property
697
+ def origin_groups(self) -> OriginGroupsResourceWithRawResponse:
698
+ return OriginGroupsResourceWithRawResponse(self._cdn.origin_groups)
699
+
700
+ @cached_property
701
+ def rule_templates(self) -> RuleTemplatesResourceWithRawResponse:
702
+ return RuleTemplatesResourceWithRawResponse(self._cdn.rule_templates)
703
+
704
+ @cached_property
705
+ def certificates(self) -> CertificatesResourceWithRawResponse:
706
+ return CertificatesResourceWithRawResponse(self._cdn.certificates)
707
+
708
+ @cached_property
709
+ def trusted_ca_certificates(self) -> TrustedCaCertificatesResourceWithRawResponse:
710
+ return TrustedCaCertificatesResourceWithRawResponse(self._cdn.trusted_ca_certificates)
711
+
712
+ @cached_property
713
+ def audit_log(self) -> AuditLogResourceWithRawResponse:
714
+ return AuditLogResourceWithRawResponse(self._cdn.audit_log)
715
+
716
+ @cached_property
717
+ def logs(self) -> LogsResourceWithRawResponse:
718
+ return LogsResourceWithRawResponse(self._cdn.logs)
719
+
720
+ @cached_property
721
+ def logs_uploader(self) -> LogsUploaderResourceWithRawResponse:
722
+ return LogsUploaderResourceWithRawResponse(self._cdn.logs_uploader)
723
+
724
+ @cached_property
725
+ def statistics(self) -> StatisticsResourceWithRawResponse:
726
+ return StatisticsResourceWithRawResponse(self._cdn.statistics)
727
+
728
+ @cached_property
729
+ def network_capacity(self) -> NetworkCapacityResourceWithRawResponse:
730
+ return NetworkCapacityResourceWithRawResponse(self._cdn.network_capacity)
731
+
732
+ @cached_property
733
+ def metrics(self) -> MetricsResourceWithRawResponse:
734
+ return MetricsResourceWithRawResponse(self._cdn.metrics)
735
+
736
+ @cached_property
737
+ def ip_ranges(self) -> IPRangesResourceWithRawResponse:
738
+ return IPRangesResourceWithRawResponse(self._cdn.ip_ranges)
739
+
740
+
741
+ class AsyncCdnResourceWithRawResponse:
742
+ def __init__(self, cdn: AsyncCdnResource) -> None:
743
+ self._cdn = cdn
744
+
745
+ self.get_account_limits = async_to_raw_response_wrapper(
746
+ cdn.get_account_limits,
747
+ )
748
+ self.get_account_overview = async_to_raw_response_wrapper(
749
+ cdn.get_account_overview,
750
+ )
751
+ self.get_available_features = async_to_raw_response_wrapper(
752
+ cdn.get_available_features,
753
+ )
754
+ self.list_purge_statuses = async_to_raw_response_wrapper(
755
+ cdn.list_purge_statuses,
756
+ )
757
+ self.update_account = async_to_raw_response_wrapper(
758
+ cdn.update_account,
759
+ )
760
+
761
+ @cached_property
762
+ def resources(self) -> AsyncResourcesResourceWithRawResponse:
763
+ return AsyncResourcesResourceWithRawResponse(self._cdn.resources)
764
+
765
+ @cached_property
766
+ def shields(self) -> AsyncShieldsResourceWithRawResponse:
767
+ return AsyncShieldsResourceWithRawResponse(self._cdn.shields)
768
+
769
+ @cached_property
770
+ def origin_groups(self) -> AsyncOriginGroupsResourceWithRawResponse:
771
+ return AsyncOriginGroupsResourceWithRawResponse(self._cdn.origin_groups)
772
+
773
+ @cached_property
774
+ def rule_templates(self) -> AsyncRuleTemplatesResourceWithRawResponse:
775
+ return AsyncRuleTemplatesResourceWithRawResponse(self._cdn.rule_templates)
776
+
777
+ @cached_property
778
+ def certificates(self) -> AsyncCertificatesResourceWithRawResponse:
779
+ return AsyncCertificatesResourceWithRawResponse(self._cdn.certificates)
780
+
781
+ @cached_property
782
+ def trusted_ca_certificates(self) -> AsyncTrustedCaCertificatesResourceWithRawResponse:
783
+ return AsyncTrustedCaCertificatesResourceWithRawResponse(self._cdn.trusted_ca_certificates)
784
+
785
+ @cached_property
786
+ def audit_log(self) -> AsyncAuditLogResourceWithRawResponse:
787
+ return AsyncAuditLogResourceWithRawResponse(self._cdn.audit_log)
788
+
789
+ @cached_property
790
+ def logs(self) -> AsyncLogsResourceWithRawResponse:
791
+ return AsyncLogsResourceWithRawResponse(self._cdn.logs)
792
+
793
+ @cached_property
794
+ def logs_uploader(self) -> AsyncLogsUploaderResourceWithRawResponse:
795
+ return AsyncLogsUploaderResourceWithRawResponse(self._cdn.logs_uploader)
796
+
797
+ @cached_property
798
+ def statistics(self) -> AsyncStatisticsResourceWithRawResponse:
799
+ return AsyncStatisticsResourceWithRawResponse(self._cdn.statistics)
800
+
801
+ @cached_property
802
+ def network_capacity(self) -> AsyncNetworkCapacityResourceWithRawResponse:
803
+ return AsyncNetworkCapacityResourceWithRawResponse(self._cdn.network_capacity)
804
+
805
+ @cached_property
806
+ def metrics(self) -> AsyncMetricsResourceWithRawResponse:
807
+ return AsyncMetricsResourceWithRawResponse(self._cdn.metrics)
808
+
809
+ @cached_property
810
+ def ip_ranges(self) -> AsyncIPRangesResourceWithRawResponse:
811
+ return AsyncIPRangesResourceWithRawResponse(self._cdn.ip_ranges)
812
+
813
+
814
+ class CdnResourceWithStreamingResponse:
815
+ def __init__(self, cdn: CdnResource) -> None:
816
+ self._cdn = cdn
817
+
818
+ self.get_account_limits = to_streamed_response_wrapper(
819
+ cdn.get_account_limits,
820
+ )
821
+ self.get_account_overview = to_streamed_response_wrapper(
822
+ cdn.get_account_overview,
823
+ )
824
+ self.get_available_features = to_streamed_response_wrapper(
825
+ cdn.get_available_features,
826
+ )
827
+ self.list_purge_statuses = to_streamed_response_wrapper(
828
+ cdn.list_purge_statuses,
829
+ )
830
+ self.update_account = to_streamed_response_wrapper(
831
+ cdn.update_account,
832
+ )
833
+
834
+ @cached_property
835
+ def resources(self) -> ResourcesResourceWithStreamingResponse:
836
+ return ResourcesResourceWithStreamingResponse(self._cdn.resources)
837
+
838
+ @cached_property
839
+ def shields(self) -> ShieldsResourceWithStreamingResponse:
840
+ return ShieldsResourceWithStreamingResponse(self._cdn.shields)
841
+
842
+ @cached_property
843
+ def origin_groups(self) -> OriginGroupsResourceWithStreamingResponse:
844
+ return OriginGroupsResourceWithStreamingResponse(self._cdn.origin_groups)
845
+
846
+ @cached_property
847
+ def rule_templates(self) -> RuleTemplatesResourceWithStreamingResponse:
848
+ return RuleTemplatesResourceWithStreamingResponse(self._cdn.rule_templates)
849
+
850
+ @cached_property
851
+ def certificates(self) -> CertificatesResourceWithStreamingResponse:
852
+ return CertificatesResourceWithStreamingResponse(self._cdn.certificates)
853
+
854
+ @cached_property
855
+ def trusted_ca_certificates(self) -> TrustedCaCertificatesResourceWithStreamingResponse:
856
+ return TrustedCaCertificatesResourceWithStreamingResponse(self._cdn.trusted_ca_certificates)
857
+
858
+ @cached_property
859
+ def audit_log(self) -> AuditLogResourceWithStreamingResponse:
860
+ return AuditLogResourceWithStreamingResponse(self._cdn.audit_log)
861
+
862
+ @cached_property
863
+ def logs(self) -> LogsResourceWithStreamingResponse:
864
+ return LogsResourceWithStreamingResponse(self._cdn.logs)
865
+
866
+ @cached_property
867
+ def logs_uploader(self) -> LogsUploaderResourceWithStreamingResponse:
868
+ return LogsUploaderResourceWithStreamingResponse(self._cdn.logs_uploader)
869
+
870
+ @cached_property
871
+ def statistics(self) -> StatisticsResourceWithStreamingResponse:
872
+ return StatisticsResourceWithStreamingResponse(self._cdn.statistics)
873
+
874
+ @cached_property
875
+ def network_capacity(self) -> NetworkCapacityResourceWithStreamingResponse:
876
+ return NetworkCapacityResourceWithStreamingResponse(self._cdn.network_capacity)
877
+
878
+ @cached_property
879
+ def metrics(self) -> MetricsResourceWithStreamingResponse:
880
+ return MetricsResourceWithStreamingResponse(self._cdn.metrics)
881
+
882
+ @cached_property
883
+ def ip_ranges(self) -> IPRangesResourceWithStreamingResponse:
884
+ return IPRangesResourceWithStreamingResponse(self._cdn.ip_ranges)
885
+
886
+
887
+ class AsyncCdnResourceWithStreamingResponse:
888
+ def __init__(self, cdn: AsyncCdnResource) -> None:
889
+ self._cdn = cdn
890
+
891
+ self.get_account_limits = async_to_streamed_response_wrapper(
892
+ cdn.get_account_limits,
893
+ )
894
+ self.get_account_overview = async_to_streamed_response_wrapper(
895
+ cdn.get_account_overview,
896
+ )
897
+ self.get_available_features = async_to_streamed_response_wrapper(
898
+ cdn.get_available_features,
899
+ )
900
+ self.list_purge_statuses = async_to_streamed_response_wrapper(
901
+ cdn.list_purge_statuses,
902
+ )
903
+ self.update_account = async_to_streamed_response_wrapper(
904
+ cdn.update_account,
905
+ )
906
+
907
+ @cached_property
908
+ def resources(self) -> AsyncResourcesResourceWithStreamingResponse:
909
+ return AsyncResourcesResourceWithStreamingResponse(self._cdn.resources)
910
+
911
+ @cached_property
912
+ def shields(self) -> AsyncShieldsResourceWithStreamingResponse:
913
+ return AsyncShieldsResourceWithStreamingResponse(self._cdn.shields)
914
+
915
+ @cached_property
916
+ def origin_groups(self) -> AsyncOriginGroupsResourceWithStreamingResponse:
917
+ return AsyncOriginGroupsResourceWithStreamingResponse(self._cdn.origin_groups)
918
+
919
+ @cached_property
920
+ def rule_templates(self) -> AsyncRuleTemplatesResourceWithStreamingResponse:
921
+ return AsyncRuleTemplatesResourceWithStreamingResponse(self._cdn.rule_templates)
922
+
923
+ @cached_property
924
+ def certificates(self) -> AsyncCertificatesResourceWithStreamingResponse:
925
+ return AsyncCertificatesResourceWithStreamingResponse(self._cdn.certificates)
926
+
927
+ @cached_property
928
+ def trusted_ca_certificates(self) -> AsyncTrustedCaCertificatesResourceWithStreamingResponse:
929
+ return AsyncTrustedCaCertificatesResourceWithStreamingResponse(self._cdn.trusted_ca_certificates)
930
+
931
+ @cached_property
932
+ def audit_log(self) -> AsyncAuditLogResourceWithStreamingResponse:
933
+ return AsyncAuditLogResourceWithStreamingResponse(self._cdn.audit_log)
934
+
935
+ @cached_property
936
+ def logs(self) -> AsyncLogsResourceWithStreamingResponse:
937
+ return AsyncLogsResourceWithStreamingResponse(self._cdn.logs)
938
+
939
+ @cached_property
940
+ def logs_uploader(self) -> AsyncLogsUploaderResourceWithStreamingResponse:
941
+ return AsyncLogsUploaderResourceWithStreamingResponse(self._cdn.logs_uploader)
942
+
943
+ @cached_property
944
+ def statistics(self) -> AsyncStatisticsResourceWithStreamingResponse:
945
+ return AsyncStatisticsResourceWithStreamingResponse(self._cdn.statistics)
946
+
947
+ @cached_property
948
+ def network_capacity(self) -> AsyncNetworkCapacityResourceWithStreamingResponse:
949
+ return AsyncNetworkCapacityResourceWithStreamingResponse(self._cdn.network_capacity)
950
+
951
+ @cached_property
952
+ def metrics(self) -> AsyncMetricsResourceWithStreamingResponse:
953
+ return AsyncMetricsResourceWithStreamingResponse(self._cdn.metrics)
954
+
955
+ @cached_property
956
+ def ip_ranges(self) -> AsyncIPRangesResourceWithStreamingResponse:
957
+ return AsyncIPRangesResourceWithStreamingResponse(self._cdn.ip_ranges)