gcore 0.12.0__py3-none-any.whl → 0.14.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 (340) 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 +270 -52
  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 +105 -81
  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 +123 -107
  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 +247 -189
  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 +43 -27
  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 +70 -38
  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 +1977 -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 +1825 -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 +1803 -0
  233. gcore/types/cdn/resource_update_params.py +1794 -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 +1695 -0
  237. gcore/types/cdn/resources/origin_shielding.py +15 -0
  238. gcore/types/cdn/resources/rule_create_params.py +1652 -0
  239. gcore/types/cdn/resources/rule_list_response.py +10 -0
  240. gcore/types/cdn/resources/rule_replace_params.py +1654 -0
  241. gcore/types/cdn/resources/rule_update_params.py +1654 -0
  242. gcore/types/cdn/resources/shield_replace_params.py +16 -0
  243. gcore/types/cdn/rule_template.py +1666 -0
  244. gcore/types/cdn/rule_template_create_params.py +1636 -0
  245. gcore/types/cdn/rule_template_list.py +10 -0
  246. gcore/types/cdn/rule_template_replace_params.py +1636 -0
  247. gcore/types/cdn/rule_template_update_params.py +1636 -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.py +1 -1
  268. gcore/types/cloud/floating_ip_detailed.py +1 -1
  269. gcore/types/cloud/floating_ip_update_params.py +43 -0
  270. gcore/types/cloud/gpu_baremetal_cluster_action_params.py +46 -0
  271. gcore/types/cloud/inference/inference_deployment.py +3 -1
  272. gcore/types/cloud/instance_create_params.py +3 -1
  273. gcore/types/cloud/k8s/cluster_create_params.py +46 -4
  274. gcore/types/cloud/k8s/cluster_update_params.py +60 -6
  275. gcore/types/cloud/k8s/clusters/pool_update_params.py +1 -1
  276. gcore/types/cloud/k8s/k8s_cluster.py +40 -3
  277. gcore/types/cloud/load_balancer_update_params.py +3 -1
  278. gcore/types/cloud/network_update_params.py +3 -1
  279. gcore/types/cloud/networks/subnet_update_params.py +3 -1
  280. gcore/types/cloud/registries/user_create_multiple_params.py +5 -3
  281. gcore/types/cloud/registries/user_create_params.py +5 -3
  282. gcore/types/cloud/registry_create_params.py +5 -3
  283. gcore/types/cloud/security_group_update_params.py +3 -1
  284. gcore/types/cloud/ssh_key_created.py +6 -3
  285. gcore/types/cloud/volume_update_params.py +3 -1
  286. gcore/types/dns/zone_get_statistics_params.py +12 -9
  287. gcore/types/dns/zone_get_statistics_response.py +3 -1
  288. gcore/types/dns/zone_import_params.py +21 -15
  289. gcore/types/dns/zones/dns_output_rrset.py +7 -3
  290. gcore/types/iam/account_overview.py +7 -2
  291. gcore/types/iam/user.py +7 -2
  292. gcore/types/iam/user_detailed.py +7 -2
  293. gcore/types/iam/user_invite_params.py +4 -1
  294. gcore/types/iam/user_update.py +7 -2
  295. gcore/types/iam/user_update_params.py +7 -2
  296. gcore/types/streaming/ai_contentmoderation_hardnudity.py +6 -4
  297. gcore/types/streaming/ai_contentmoderation_nsfw.py +6 -4
  298. gcore/types/streaming/ai_contentmoderation_softnudity.py +6 -4
  299. gcore/types/streaming/ai_contentmoderation_sport.py +6 -4
  300. gcore/types/streaming/ai_task.py +20 -11
  301. gcore/types/streaming/ai_task_create_params.py +20 -11
  302. gcore/types/streaming/ai_task_get_response.py +5 -4
  303. gcore/types/streaming/ai_task_list_params.py +11 -5
  304. gcore/types/streaming/clip.py +33 -22
  305. gcore/types/streaming/create_video_param.py +75 -43
  306. gcore/types/streaming/playlist.py +7 -5
  307. gcore/types/streaming/playlist_create_params.py +7 -5
  308. gcore/types/streaming/playlist_update_params.py +7 -5
  309. gcore/types/streaming/playlist_video.py +75 -43
  310. gcore/types/streaming/statistic_get_unique_viewers_cdn_params.py +7 -4
  311. gcore/types/streaming/stream.py +207 -136
  312. gcore/types/streaming/stream_create_clip_params.py +33 -22
  313. gcore/types/streaming/stream_create_params.py +41 -24
  314. gcore/types/streaming/stream_update_params.py +41 -24
  315. gcore/types/streaming/video.py +138 -76
  316. gcore/types/streaming/video_list_params.py +4 -2
  317. gcore/types/streaming/video_update_params.py +75 -43
  318. gcore/types/waap/__init__.py +2 -1
  319. gcore/types/waap/domain_update_params.py +2 -2
  320. gcore/types/waap/domains/advanced_rule_create_params.py +26 -18
  321. gcore/types/waap/domains/advanced_rule_list_params.py +10 -7
  322. gcore/types/waap/domains/advanced_rule_update_params.py +22 -17
  323. gcore/types/waap/domains/api_path_create_params.py +0 -3
  324. gcore/types/waap/domains/api_path_update_params.py +1 -3
  325. gcore/types/waap/domains/custom_rule_create_params.py +36 -35
  326. gcore/types/waap/domains/custom_rule_update_params.py +31 -33
  327. gcore/types/waap/domains/firewall_rule_create_params.py +6 -6
  328. gcore/types/waap/domains/firewall_rule_update_params.py +5 -5
  329. gcore/types/waap/domains/waap_advanced_rule.py +17 -9
  330. gcore/types/waap/domains/waap_custom_rule.py +5 -2
  331. gcore/types/waap/domains/waap_firewall_rule.py +1 -1
  332. gcore/types/waap/domains/waap_insight.py +1 -1
  333. gcore/types/waap/insight_list_types_params.py +1 -1
  334. gcore/types/waap/ip_info_get_top_urls_response.py +3 -12
  335. gcore/types/waap/{ip_info_get_ip_info_response.py → waap_ip_info.py} +2 -2
  336. gcore/types/waap/waap_top_url.py +13 -0
  337. {gcore-0.12.0.dist-info → gcore-0.14.0.dist-info}/METADATA +1 -1
  338. {gcore-0.12.0.dist-info → gcore-0.14.0.dist-info}/RECORD +340 -218
  339. {gcore-0.12.0.dist-info → gcore-0.14.0.dist-info}/WHEEL +0 -0
  340. {gcore-0.12.0.dist-info → gcore-0.14.0.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,200 @@
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 Iterable, Optional
6
+ from typing_extensions import Required, TypedDict
7
+
8
+ __all__ = ["SettingUpdateParams", "Folder"]
9
+
10
+
11
+ class SettingUpdateParams(TypedDict, total=False):
12
+ all_resources_bucket: Required[str]
13
+ """Name of the S3 bucket to which logs for all CDN resources are delivered."""
14
+
15
+ all_resources_folder: Required[str]
16
+ """Parameter meaning depends on the value of the "`storage_type`" value:
17
+
18
+ - If "`storage_type`": s3 - Name of the S3 bucket sub-folder to which logs for
19
+ all CDN resources are delivered.
20
+ - If "`storage_type`": ftp/sftp - Name of the folder (or path) to which logs for
21
+ all CDN resources are delivered.
22
+ """
23
+
24
+ folders: Required[Iterable[Folder]]
25
+ """List of folders/buckets for receiving CDN resources logs."""
26
+
27
+ for_all_resources: Required[bool]
28
+ """
29
+ Defines whether logs of all CDN resources are delivered to one folder/bucket or
30
+ to separate ones.
31
+
32
+ Possible values:
33
+
34
+ - **true** - Logs of all CDN resources are delivered to one folder/bucket.
35
+ - **false** - Logs of different CDN resources are delivered to separate
36
+ folders/buckets.
37
+ """
38
+
39
+ ftp_hostname: Required[str]
40
+ """FTP storage hostname."""
41
+
42
+ ftp_login: Required[str]
43
+ """FTP storage login."""
44
+
45
+ ftp_password: Required[str]
46
+ """FTP storage password."""
47
+
48
+ s3_access_key_id: Required[str]
49
+ """Access key ID for the S3 account.
50
+
51
+ Access Key ID is 20 alpha-numeric characters like 022QF06E7MXBSH9DHM02
52
+ """
53
+
54
+ s3_hostname: Required[str]
55
+ """S3 storage hostname.
56
+
57
+ It is required if "`s3_type`": other.
58
+ """
59
+
60
+ s3_secret_key: Required[str]
61
+ """Secret access key for the S3 account.
62
+
63
+ Secret Access Key is 20-50 alpha-numeric-slash-plus characters like
64
+ kWcrlUX5JEDGM/LtmEENI/aVmYvHNif5zB+d9+ct
65
+ """
66
+
67
+ s3_type: Required[str]
68
+ """Storage type compatible with S3.
69
+
70
+ Possible values:
71
+
72
+ - **amazon** – AWS S3 storage.
73
+ - **other** – Other (not AWS) S3 compatible storage.
74
+ """
75
+
76
+ sftp_hostname: Required[str]
77
+ """SFTP storage hostname."""
78
+
79
+ sftp_login: Required[str]
80
+ """SFTP storage login."""
81
+
82
+ sftp_password: Required[str]
83
+ """SFTP storage password.
84
+
85
+ It should be empty if "`sftp_private_key`" is set.
86
+ """
87
+
88
+ storage_type: Required[str]
89
+ """Storage type.
90
+
91
+ Possible values:
92
+
93
+ - **ftp**
94
+ - **sftp**
95
+ - **s3**
96
+ """
97
+
98
+ archive_size_mb: Optional[int]
99
+ """
100
+ The size of a single piece of the archive in MB. In case of **null** value logs
101
+ are delivered without slicing.
102
+ """
103
+
104
+ enabled: bool
105
+ """Enables or disables a log forwarding feature.
106
+
107
+ Possible values:
108
+
109
+ - **true** - log forwarding feature is active.
110
+ - **false** - log forwarding feature is deactivated.
111
+ """
112
+
113
+ ftp_prepend_folder: str
114
+ """Name of the FTP prepend folder for log delivery.
115
+
116
+ **Null** is allowed.
117
+ """
118
+
119
+ ignore_empty_logs: bool
120
+ """Enables or disables the forwarding of empty logs.
121
+
122
+ Possible values:
123
+
124
+ - **true** - Empty logs are not sent.
125
+ - **false** - Empty logs are sent.
126
+ """
127
+
128
+ s3_aws_region: int
129
+ """Amazon AWS region."""
130
+
131
+ s3_bucket_location: str
132
+ """Location of S3 storage.
133
+
134
+ Restrictions:
135
+
136
+ - Maximum of 255 symbols.
137
+ - Latin letters (A-Z, a-z), digits (0-9), dots, colons, dashes, and underscores
138
+ (.:\\__-).
139
+ """
140
+
141
+ s3_host_bucket: str
142
+ """S3 bucket hostname.
143
+
144
+ Restrictions:
145
+
146
+ - Maximum of 255 symbols.
147
+ - Latin letters (A-Z, a-z,) digits (0-9,) dots, colons, dashes, and underscores.
148
+ - Required if "`s3_type`": other.
149
+ """
150
+
151
+ sftp_key_passphrase: str
152
+ """Passphrase for SFTP private key.
153
+
154
+ Restrictions:
155
+
156
+ - Should be set if private key encoded with passphrase.
157
+ - Should be empty if "`sftp_password`" is set.
158
+ """
159
+
160
+ sftp_prepend_folder: str
161
+ """Name of the SFTP prepend folder for log delivery.
162
+
163
+ **Null** is allowed.
164
+ """
165
+
166
+ sftp_private_key: str
167
+ """Private key for SFTP authorization.
168
+
169
+ Possible values:
170
+
171
+ - **RSA**
172
+ - **ED25519**
173
+
174
+ It should be empty if "`sftp_password`" is set.
175
+ """
176
+
177
+
178
+ class Folder(TypedDict, total=False):
179
+ id: int
180
+ """Parameter meaning depends on the value of the "`storage_type`" value:
181
+
182
+ - **s3** - S3 bucket ID.
183
+ - **ftp/sftp** - FTP/SFTP folder ID.
184
+ """
185
+
186
+ bucket: str
187
+ """S3 bucket name.
188
+
189
+ The field is required if "`storage_type`": **s3**.
190
+ """
191
+
192
+ cdn_resource: int
193
+ """CDN resource ID."""
194
+
195
+ folder: str
196
+ """Parameter meaning depends on the value of the "`storage_type`" value:
197
+
198
+ - **s3** - S3 bucket sub-folder name (optional.)
199
+ - **ftp/sftp** - FTP/SFTP folder name (required.)
200
+ """
@@ -0,0 +1,23 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+
5
+ from pydantic import Field as FieldInfo
6
+
7
+ from ..._models import BaseModel
8
+
9
+ __all__ = ["LogsAggregatedStats"]
10
+
11
+
12
+ class LogsAggregatedStats(BaseModel):
13
+ api_1_example: Optional[object] = FieldInfo(alias="1 (example)", default=None)
14
+ """CDN resource ID for which statistics data is shown."""
15
+
16
+ metrics: Optional[object] = None
17
+ """Statistics parameters."""
18
+
19
+ raw_logs_usage: Optional[str] = None
20
+ """Number of resources that used raw logs."""
21
+
22
+ resource: Optional[object] = None
23
+ """Resources IDs by which statistics data is grouped.."""
@@ -0,0 +1,23 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from .config_list_params import ConfigListParams as ConfigListParams
6
+ from .policy_list_params import PolicyListParams as PolicyListParams
7
+ from .target_list_params import TargetListParams as TargetListParams
8
+ from .config_create_params import ConfigCreateParams as ConfigCreateParams
9
+ from .config_update_params import ConfigUpdateParams as ConfigUpdateParams
10
+ from .logs_uploader_config import LogsUploaderConfig as LogsUploaderConfig
11
+ from .logs_uploader_policy import LogsUploaderPolicy as LogsUploaderPolicy
12
+ from .logs_uploader_target import LogsUploaderTarget as LogsUploaderTarget
13
+ from .policy_create_params import PolicyCreateParams as PolicyCreateParams
14
+ from .policy_update_params import PolicyUpdateParams as PolicyUpdateParams
15
+ from .target_create_params import TargetCreateParams as TargetCreateParams
16
+ from .target_update_params import TargetUpdateParams as TargetUpdateParams
17
+ from .config_replace_params import ConfigReplaceParams as ConfigReplaceParams
18
+ from .policy_replace_params import PolicyReplaceParams as PolicyReplaceParams
19
+ from .target_replace_params import TargetReplaceParams as TargetReplaceParams
20
+ from .logs_uploader_config_list import LogsUploaderConfigList as LogsUploaderConfigList
21
+ from .logs_uploader_policy_list import LogsUploaderPolicyList as LogsUploaderPolicyList
22
+ from .logs_uploader_target_list import LogsUploaderTargetList as LogsUploaderTargetList
23
+ from .policy_list_fields_response import PolicyListFieldsResponse as PolicyListFieldsResponse
@@ -0,0 +1,32 @@
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 Iterable
6
+ from typing_extensions import Required, TypedDict
7
+
8
+ __all__ = ["ConfigCreateParams"]
9
+
10
+
11
+ class ConfigCreateParams(TypedDict, total=False):
12
+ name: Required[str]
13
+ """Name of the config."""
14
+
15
+ policy: Required[int]
16
+ """ID of the policy that should be assigned to given config."""
17
+
18
+ target: Required[int]
19
+ """ID of the target to which logs should be uploaded."""
20
+
21
+ enabled: bool
22
+ """Enables or disables the config."""
23
+
24
+ for_all_resources: bool
25
+ """
26
+ If set to true, the config will be applied to all CDN resources. If set to
27
+ false, the config will be applied to the resources specified in the `resources`
28
+ field.
29
+ """
30
+
31
+ resources: Iterable[int]
32
+ """List of resource IDs to which the config should be applied."""
@@ -0,0 +1,16 @@
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 Iterable
6
+ from typing_extensions import TypedDict
7
+
8
+ __all__ = ["ConfigListParams"]
9
+
10
+
11
+ class ConfigListParams(TypedDict, total=False):
12
+ resource_ids: Iterable[int]
13
+ """Filter by ids of CDN resources that are assigned to given config."""
14
+
15
+ search: str
16
+ """Search by config name or id."""
@@ -0,0 +1,32 @@
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 Iterable
6
+ from typing_extensions import Required, TypedDict
7
+
8
+ __all__ = ["ConfigReplaceParams"]
9
+
10
+
11
+ class ConfigReplaceParams(TypedDict, total=False):
12
+ name: Required[str]
13
+ """Name of the config."""
14
+
15
+ policy: Required[int]
16
+ """ID of the policy that should be assigned to given config."""
17
+
18
+ target: Required[int]
19
+ """ID of the target to which logs should be uploaded."""
20
+
21
+ enabled: bool
22
+ """Enables or disables the config."""
23
+
24
+ for_all_resources: bool
25
+ """
26
+ If set to true, the config will be applied to all CDN resources. If set to
27
+ false, the config will be applied to the resources specified in the `resources`
28
+ field.
29
+ """
30
+
31
+ resources: Iterable[int]
32
+ """List of resource IDs to which the config should be applied."""
@@ -0,0 +1,32 @@
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 Iterable
6
+ from typing_extensions import TypedDict
7
+
8
+ __all__ = ["ConfigUpdateParams"]
9
+
10
+
11
+ class ConfigUpdateParams(TypedDict, total=False):
12
+ enabled: bool
13
+ """Enables or disables the config."""
14
+
15
+ for_all_resources: bool
16
+ """
17
+ If set to true, the config will be applied to all CDN resources. If set to
18
+ false, the config will be applied to the resources specified in the `resources`
19
+ field.
20
+ """
21
+
22
+ name: str
23
+ """Name of the config."""
24
+
25
+ policy: int
26
+ """ID of the policy that should be assigned to given config."""
27
+
28
+ resources: Iterable[int]
29
+ """List of resource IDs to which the config should be applied."""
30
+
31
+ target: int
32
+ """ID of the target to which logs should be uploaded."""
@@ -0,0 +1,51 @@
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
+
6
+ from ...._models import BaseModel
7
+ from ..logs_uploader_validation import LogsUploaderValidation
8
+
9
+ __all__ = ["LogsUploaderConfig", "Status"]
10
+
11
+
12
+ class Status(LogsUploaderValidation):
13
+ pass
14
+
15
+
16
+ class LogsUploaderConfig(BaseModel):
17
+ id: Optional[int] = None
18
+
19
+ client_id: Optional[int] = None
20
+ """Client that owns the config."""
21
+
22
+ created: Optional[datetime] = None
23
+ """Time when the config was created."""
24
+
25
+ enabled: Optional[bool] = None
26
+ """Enables or disables the config."""
27
+
28
+ for_all_resources: Optional[bool] = None
29
+ """
30
+ If set to true, the config will be applied to all CDN resources. If set to
31
+ false, the config will be applied to the resources specified in the `resources`
32
+ field.
33
+ """
34
+
35
+ name: Optional[str] = None
36
+ """Name of the config."""
37
+
38
+ policy: Optional[int] = None
39
+ """ID of the policy that should be assigned to given config."""
40
+
41
+ resources: Optional[List[int]] = None
42
+ """List of resource IDs to which the config should be applied."""
43
+
44
+ status: Optional[Status] = None
45
+ """Validation status of the logs uploader config."""
46
+
47
+ target: Optional[int] = None
48
+ """ID of the target to which logs should be uploaded."""
49
+
50
+ updated: Optional[datetime] = None
51
+ """Time when the config was updated."""
@@ -0,0 +1,10 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List
4
+ from typing_extensions import TypeAlias
5
+
6
+ from .logs_uploader_config import LogsUploaderConfig
7
+
8
+ __all__ = ["LogsUploaderConfigList"]
9
+
10
+ LogsUploaderConfigList: TypeAlias = List[LogsUploaderConfig]
@@ -0,0 +1,73 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Dict, List, Optional
4
+ from datetime import datetime
5
+
6
+ from ...._models import BaseModel
7
+
8
+ __all__ = ["LogsUploaderPolicy"]
9
+
10
+
11
+ class LogsUploaderPolicy(BaseModel):
12
+ id: Optional[int] = None
13
+
14
+ client_id: Optional[int] = None
15
+ """Client that owns the policy."""
16
+
17
+ created: Optional[datetime] = None
18
+ """Time when logs uploader policy was created."""
19
+
20
+ date_format: Optional[str] = None
21
+ """Date format for logs."""
22
+
23
+ description: Optional[str] = None
24
+ """Description of the policy."""
25
+
26
+ field_delimiter: Optional[str] = None
27
+ """Field delimiter for logs."""
28
+
29
+ field_separator: Optional[str] = None
30
+ """Field separator for logs."""
31
+
32
+ fields: Optional[List[str]] = None
33
+ """List of fields to include in logs."""
34
+
35
+ file_name_template: Optional[str] = None
36
+ """Template for log file name."""
37
+
38
+ format_type: Optional[str] = None
39
+ """Format type for logs."""
40
+
41
+ include_empty_logs: Optional[bool] = None
42
+ """Include empty logs in the upload."""
43
+
44
+ include_shield_logs: Optional[bool] = None
45
+ """Include logs from origin shielding in the upload."""
46
+
47
+ name: Optional[str] = None
48
+ """Name of the policy."""
49
+
50
+ related_uploader_configs: Optional[List[int]] = None
51
+ """List of logs uploader configs that use this policy."""
52
+
53
+ retry_interval_minutes: Optional[int] = None
54
+ """Interval in minutes to retry failed uploads."""
55
+
56
+ rotate_interval_minutes: Optional[int] = None
57
+ """Interval in minutes to rotate logs."""
58
+
59
+ rotate_threshold_lines: Optional[int] = None
60
+ """Threshold in lines to rotate logs."""
61
+
62
+ rotate_threshold_mb: Optional[int] = None
63
+ """Threshold in MB to rotate logs."""
64
+
65
+ tags: Optional[Dict[str, str]] = None
66
+ """
67
+ Tags allow for dynamic decoration of logs by adding predefined fields to the log
68
+ format. These tags serve as customizable key-value pairs that can be included in
69
+ log entries to enhance context and readability.
70
+ """
71
+
72
+ updated: Optional[datetime] = None
73
+ """Time when logs uploader policy was updated."""
@@ -0,0 +1,10 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List
4
+ from typing_extensions import TypeAlias
5
+
6
+ from .logs_uploader_policy import LogsUploaderPolicy
7
+
8
+ __all__ = ["LogsUploaderPolicyList"]
9
+
10
+ LogsUploaderPolicyList: TypeAlias = List[LogsUploaderPolicy]