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,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__ = ["ShieldAggregatedStats"]
10
+
11
+
12
+ class ShieldAggregatedStats(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
+ resource: Optional[object] = None
20
+ """Resources IDs by which statistics data is grouped."""
21
+
22
+ shield_usage: Optional[str] = None
23
+ """Number of CDN resources that used origin shielding."""
@@ -0,0 +1,25 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List, Optional
4
+ from typing_extensions import TypeAlias
5
+
6
+ from ..._models import BaseModel
7
+
8
+ __all__ = ["ShieldListResponse", "ShieldListResponseItem"]
9
+
10
+
11
+ class ShieldListResponseItem(BaseModel):
12
+ id: Optional[int] = None
13
+ """Origin shielding location ID."""
14
+
15
+ city: Optional[str] = None
16
+ """City of origin shielding location."""
17
+
18
+ country: Optional[str] = None
19
+ """Country of origin shielding location."""
20
+
21
+ datacenter: Optional[str] = None
22
+ """Name of origin shielding location datacenter."""
23
+
24
+
25
+ ShieldListResponse: TypeAlias = List[ShieldListResponseItem]
@@ -0,0 +1,62 @@
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__ = ["SslDetail"]
10
+
11
+
12
+ class SslDetail(BaseModel):
13
+ id: Optional[int] = None
14
+ """SSL certificate ID."""
15
+
16
+ automated: Optional[bool] = None
17
+ """How the SSL certificate was issued.
18
+
19
+ Possible values:
20
+
21
+ - **true** - Certificate was issued automatically.
22
+ - **false** - Certificate was added by a use.
23
+ """
24
+
25
+ cert_issuer: Optional[str] = None
26
+ """Name of the certification center issued the SSL certificate."""
27
+
28
+ cert_subject_alt: Optional[str] = None
29
+ """Alternative domain names that the SSL certificate secures."""
30
+
31
+ cert_subject_cn: Optional[str] = None
32
+ """Domain name that the SSL certificate secures."""
33
+
34
+ deleted: Optional[bool] = None
35
+ """Defines whether the certificate has been deleted. Parameter is **deprecated**.
36
+
37
+ Possible values:
38
+
39
+ - **true** - Certificate has been deleted.
40
+ - **false** - Certificate has not been deleted.
41
+ """
42
+
43
+ has_related_resources: Optional[bool] = FieldInfo(alias="hasRelatedResources", default=None)
44
+ """Defines whether the SSL certificate is used by a CDN resource.
45
+
46
+ Possible values:
47
+
48
+ - **true** - Certificate is used by a CDN resource.
49
+ - **false** - Certificate is not used by a CDN resource.
50
+ """
51
+
52
+ name: Optional[str] = None
53
+ """SSL certificate name."""
54
+
55
+ ssl_certificate_chain: Optional[str] = FieldInfo(alias="sslCertificateChain", default=None)
56
+ """Parameter is **deprecated**."""
57
+
58
+ validity_not_after: Optional[str] = None
59
+ """Date when certificate become untrusted (ISO 8601/RFC 3339 format, UTC.)"""
60
+
61
+ validity_not_before: Optional[str] = None
62
+ """Date when certificate become valid (ISO 8601/RFC 3339 format, UTC.)"""
@@ -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 .ssl_detail import SslDetail
7
+
8
+ __all__ = ["SslDetailList"]
9
+
10
+ SslDetailList: TypeAlias = List[SslDetail]
@@ -0,0 +1,135 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List, Optional
4
+
5
+ from ..._models import BaseModel
6
+
7
+ __all__ = ["SslRequestStatus", "LatestStatus", "Status"]
8
+
9
+
10
+ class LatestStatus(BaseModel):
11
+ id: Optional[int] = None
12
+ """ID of the attempt to issue the Let's Encrypt certificate."""
13
+
14
+ created: Optional[str] = None
15
+ """
16
+ Date and time when the issuing attempt status was created (ISO 8601/RFC 3339
17
+ format, UTC).
18
+ """
19
+
20
+ details: Optional[str] = None
21
+ """
22
+ Detailed description of the error that occurred when trying to issue a Let's
23
+ Encrypt certificate.
24
+ """
25
+
26
+ error: Optional[str] = None
27
+ """
28
+ Brief description of the error that occurred when trying to issue a Let's
29
+ Encrypt certificate.
30
+ """
31
+
32
+ retry_after: Optional[str] = None
33
+ """
34
+ Date indicating when the certificate issuance limit will be lifted (ISO 8601/RFC
35
+ 3339 format, UTC).
36
+
37
+ It is filled in only if error = RateLimited.
38
+ """
39
+
40
+ status: Optional[str] = None
41
+ """Status of the attempt to issue the Let's Encrypt certificate.
42
+
43
+ Possible values:
44
+
45
+ - **Done** - Attempt is successful. Let's Encrypt certificate was issued.
46
+ - **Failed** - Attempt failed. Let's Encrypt certificate was not issued.
47
+ - **Cancelled** - Attempt is canceled. Let's Encrypt certificate was not issued.
48
+ """
49
+
50
+
51
+ class Status(BaseModel):
52
+ id: Optional[int] = None
53
+ """ID of the attempt to issue the Let's Encrypt certificate."""
54
+
55
+ created: Optional[str] = None
56
+ """
57
+ Date and time when the issuing attempt status was created (ISO 8601/RFC 3339
58
+ format, UTC).
59
+ """
60
+
61
+ details: Optional[str] = None
62
+ """
63
+ Detailed description of the error that occurred when trying to issue a Let's
64
+ Encrypt certificate.
65
+ """
66
+
67
+ error: Optional[str] = None
68
+ """
69
+ Brief description of the error that occurred when trying to issue a Let's
70
+ Encrypt certificate.
71
+ """
72
+
73
+ retry_after: Optional[str] = None
74
+ """
75
+ Date indicating when the certificate issuance limit will be lifted (ISO 8601/RFC
76
+ 3339 format, UTC).
77
+
78
+ It is filled in only if error = RateLimited.
79
+ """
80
+
81
+ status: Optional[str] = None
82
+ """Status of the attempt to issue the Let's Encrypt certificate.
83
+
84
+ Possible values:
85
+
86
+ - **Done** - Attempt is successful. Let's Encrypt certificate was issued.
87
+ - **Failed** - Attempt failed. Let's Encrypt certificate was not issued.
88
+ - **Cancelled** - Attempt is canceled. Let's Encrypt certificate was not issued.
89
+ """
90
+
91
+
92
+ class SslRequestStatus(BaseModel):
93
+ id: Optional[int] = None
94
+ """ID of the attempt to issue a Let's Encrypt certificate."""
95
+
96
+ active: Optional[bool] = None
97
+ """Defines whether the Let's Encrypt certificate issuing process is active.
98
+
99
+ Possible values:
100
+
101
+ - **true** - Issuing process is active.
102
+ - **false** - Issuing process is completed.
103
+ """
104
+
105
+ attempts_count: Optional[int] = None
106
+ """Number of attempts to issue the Let's Encrypt certificate."""
107
+
108
+ finished: Optional[str] = None
109
+ """
110
+ Date when the process of issuing a Let's Encrypt certificate was finished (ISO
111
+ 8601/RFC 3339 format, UTC).
112
+
113
+ The field is **null** if the issuing process is not finished.
114
+ """
115
+
116
+ latest_status: Optional[LatestStatus] = None
117
+ """Detailed information about last attempt to issue a Let's Encrypt certificate."""
118
+
119
+ next_attempt_time: Optional[str] = None
120
+ """
121
+ Time of the next scheduled attempt to issue the Let's Encrypt certificate (ISO
122
+ 8601/RFC 3339 format, UTC).
123
+ """
124
+
125
+ resource: Optional[int] = None
126
+ """CDN resource ID."""
127
+
128
+ started: Optional[str] = None
129
+ """
130
+ Date when the process of issuing a Let's Encrypt certificate was started (ISO
131
+ 8601/RFC 3339 format, UTC).
132
+ """
133
+
134
+ statuses: Optional[List[Status]] = None
135
+ """Detailed information about attempts to issue a Let's Encrypt certificate."""
@@ -0,0 +1,42 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing_extensions import Required, Annotated, TypedDict
6
+
7
+ from ..._utils import PropertyInfo
8
+
9
+ __all__ = ["StatisticGetLogsUsageAggregatedParams"]
10
+
11
+
12
+ class StatisticGetLogsUsageAggregatedParams(TypedDict, total=False):
13
+ from_: Required[Annotated[str, PropertyInfo(alias="from")]]
14
+ """Beginning of the requested time period (ISO 8601/RFC 3339 format, UTC.)"""
15
+
16
+ to: Required[str]
17
+ """End of the requested time period (ISO 8601/RFC 3339 format, UTC.)"""
18
+
19
+ flat: bool
20
+ """The waу parameters are arranged in the response.
21
+
22
+ Possible values:
23
+
24
+ - **true** – Flat structure is used.
25
+ - **false** – Embedded structure is used (default.)
26
+ """
27
+
28
+ group_by: str
29
+ """Output data grouping.
30
+
31
+ Possible value:
32
+
33
+ - **resource** - Data is grouped by CDN resources.
34
+ """
35
+
36
+ resource: int
37
+ """CDN resources IDs by that statistics data is grouped.
38
+
39
+ To request multiple values, use:
40
+
41
+ - &resource=1&resource=2
42
+ """
@@ -0,0 +1,35 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing_extensions import Required, Annotated, TypedDict
6
+
7
+ from ..._utils import PropertyInfo
8
+
9
+ __all__ = ["StatisticGetLogsUsageSeriesParams"]
10
+
11
+
12
+ class StatisticGetLogsUsageSeriesParams(TypedDict, total=False):
13
+ from_: Required[Annotated[str, PropertyInfo(alias="from")]]
14
+ """Beginning of the requested time period (ISO 8601/RFC 3339 format, UTC.)
15
+
16
+ Example:
17
+
18
+ - &from=2020-01-01T00:00:00.000
19
+ """
20
+
21
+ to: Required[str]
22
+ """End of the requested time period (ISO 8601/RFC 3339 format, UTC.)
23
+
24
+ Example:
25
+
26
+ - &from=2020-01-01T00:00:00.000
27
+ """
28
+
29
+ resource: int
30
+ """CDN resources IDs by that statistics data is grouped.
31
+
32
+ To request multiple values, use:
33
+
34
+ - &resource=1&resource=2
35
+ """
@@ -0,0 +1,151 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing_extensions import Required, Annotated, TypedDict
6
+
7
+ from ..._utils import PropertyInfo
8
+
9
+ __all__ = ["StatisticGetResourceUsageAggregatedParams"]
10
+
11
+
12
+ class StatisticGetResourceUsageAggregatedParams(TypedDict, total=False):
13
+ from_: Required[Annotated[str, PropertyInfo(alias="from")]]
14
+ """Beginning of the requested time period (ISO 8601/RFC 3339 format, UTC.)
15
+
16
+ Examples:
17
+
18
+ - &from=2018-11-01T00:00:00.000
19
+ - &from=2018-11-01
20
+ """
21
+
22
+ metrics: Required[str]
23
+ """Types of statistics data.
24
+
25
+ Possible values:
26
+
27
+ - **`upstream_bytes`** – Traffic in bytes from an origin server to CDN servers
28
+ or to origin shielding when used.
29
+ - **`sent_bytes`** – Traffic in bytes from CDN servers to clients.
30
+ - **`shield_bytes`** – Traffic in bytes from origin shielding to CDN servers.
31
+ - **`backblaze_bytes`** - Traffic in bytes from Backblaze origin.
32
+ - **`total_bytes`** – `shield_bytes`, `upstream_bytes` and `sent_bytes`
33
+ combined.
34
+ - **`cdn_bytes`** – `sent_bytes` and `shield_bytes` combined.
35
+ - **requests** – Number of requests to edge servers.
36
+ - **`responses_2xx`** – Number of 2xx response codes.
37
+ - **`responses_3xx`** – Number of 3xx response codes.
38
+ - **`responses_4xx`** – Number of 4xx response codes.
39
+ - **`responses_5xx`** – Number of 5xx response codes.
40
+ - **`responses_hit`** – Number of responses with the header Cache: HIT.
41
+ - **`responses_miss`** – Number of responses with the header Cache: MISS.
42
+ - **`response_types`** – Statistics by content type. It returns a number of
43
+ responses for content with different MIME types.
44
+ - **`cache_hit_traffic_ratio`** – Formula: 1 - `upstream_bytes` / `sent_bytes`.
45
+ We deduct the non-cached traffic from the total traffic amount.
46
+ - **`cache_hit_requests_ratio`** – Formula: `responses_hit` / requests. The
47
+ share of sending cached content.
48
+ - **`shield_traffic_ratio`** – Formula: (`shield_bytes` - `upstream_bytes`) /
49
+ `shield_bytes`. The efficiency of the Origin Shielding: how much more traffic
50
+ is sent from the Origin Shielding than from the origin.
51
+ - **`image_processed`** - Number of images transformed on the Image optimization
52
+ service.
53
+ - **`request_time`** - Time elapsed between the first bytes of a request were
54
+ processed and logging after the last bytes were sent to a user.
55
+ - **`upstream_response_time`** - Number of milliseconds it took to receive a
56
+ response from an origin. If upstream `response_time_` contains several
57
+ indications for one request (in case of more than 1 origin), we summarize
58
+ them. In case of aggregating several queries, the average of this amount is
59
+ calculated.
60
+ - **`95_percentile`** - Represents the 95th percentile of network bandwidth
61
+ usage in bytes per second. This means that 95% of the time, the network
62
+ resource usage was below this value.
63
+ - **`max_bandwidth`** - The maximum network bandwidth that was used during the
64
+ selected time represented in bytes per second.
65
+ - **`min_bandwidth`** - The minimum network bandwidth that was used during the
66
+ selected time represented in bytes per second.
67
+
68
+ Metrics **`upstream_response_time`** and **`request_time`** should be requested
69
+ separately from other metrics
70
+ """
71
+
72
+ service: Required[str]
73
+ """Service name.
74
+
75
+ Possible value:
76
+
77
+ - CDN
78
+ """
79
+
80
+ to: Required[str]
81
+ """End of the requested time period (ISO 8601/RFC 3339 format, UTC.)
82
+
83
+ Examples:
84
+
85
+ - &to=2018-11-01T00:00:00.000
86
+ - &to=2018-11-01
87
+ """
88
+
89
+ countries: str
90
+ """Names of countries for which data is displayed.
91
+
92
+ English short name from [ISO 3166 standard][1] without the definite article
93
+ "the" should be used.
94
+
95
+ [1]: https://www.iso.org/obp/ui/#search/code/
96
+
97
+ To request multiple values, use:
98
+
99
+ - &countries=france&countries=denmark
100
+ """
101
+
102
+ flat: bool
103
+ """The waу the parameters are arranged in the response.
104
+
105
+ Possible values:
106
+
107
+ - **true** – Flat structure is used.
108
+ - **false** – Embedded structure is used (default.)
109
+ """
110
+
111
+ group_by: str
112
+ """Output data grouping.
113
+
114
+ Possible values:
115
+
116
+ - **resource** – Data is grouped by CDN resources IDs.
117
+ - **region** – Data is grouped by regions of CDN edge servers.
118
+ - **country** – Data is grouped by countries of CDN edge servers.
119
+ - **vhost** – Data is grouped by resources CNAME.
120
+
121
+ To request multiple values, use:
122
+
123
+ - &`group_by`=region&`group_by`=resource
124
+ """
125
+
126
+ regions: str
127
+ """Regions for which data is displayed.
128
+
129
+ Possible values:
130
+
131
+ - **na** – North America
132
+ - **eu** – Europe
133
+ - **cis** – Commonwealth of Independent States
134
+ - **asia** – Asia
135
+ - **au** – Australia
136
+ - **latam** – Latin America
137
+ - **me** – Middle East
138
+ - **africa** - Africa
139
+ - **sa** - South America
140
+ """
141
+
142
+ resource: int
143
+ """CDN resources IDs by which statistics data is grouped.
144
+
145
+ To request multiple values, use:
146
+
147
+ - &resource=1&resource=2
148
+
149
+ If CDN resource ID is not specified, data related to all CDN resources is
150
+ returned.
151
+ """
@@ -0,0 +1,131 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing_extensions import Required, Annotated, TypedDict
6
+
7
+ from ..._utils import PropertyInfo
8
+
9
+ __all__ = ["StatisticGetResourceUsageSeriesParams"]
10
+
11
+
12
+ class StatisticGetResourceUsageSeriesParams(TypedDict, total=False):
13
+ from_: Required[Annotated[str, PropertyInfo(alias="from")]]
14
+ """Beginning of the requested time period (ISO 8601/RFC 3339 format, UTC.)"""
15
+
16
+ granularity: Required[str]
17
+ """Duration of the time blocks into which the data will be divided.
18
+
19
+ Possible values:
20
+
21
+ - **1m** - available only for up to 1 month in the past.
22
+ - **5m**
23
+ - **15m**
24
+ - **1h**
25
+ - **1d**
26
+ """
27
+
28
+ metrics: Required[str]
29
+ """Types of statistics data.
30
+
31
+ Possible values:
32
+
33
+ - **`upstream_bytes`** – Traffic in bytes from an origin server to CDN servers
34
+ or to origin shielding when used.
35
+ - **`sent_bytes`** – Traffic in bytes from CDN servers to clients.
36
+ - **`shield_bytes`** – Traffic in bytes from origin shielding to CDN servers.
37
+ - **`backblaze_bytes`** - Traffic in bytes from Backblaze origin.
38
+ - **`total_bytes`** – `shield_bytes`, `upstream_bytes` and `sent_bytes`
39
+ combined.
40
+ - **`cdn_bytes`** – `sent_bytes` and `shield_bytes` combined.
41
+ - **requests** – Number of requests to edge servers.
42
+ - **`responses_2xx`** – Number of 2xx response codes.
43
+ - **`responses_3xx`** – Number of 3xx response codes.
44
+ - **`responses_4xx`** – Number of 4xx response codes.
45
+ - **`responses_5xx`** – Number of 5xx response codes.
46
+ - **`responses_hit`** – Number of responses with the header Cache: HIT.
47
+ - **`responses_miss`** – Number of responses with the header Cache: MISS.
48
+ - **`response_types`** – Statistics by content type. It returns a number of
49
+ responses for content with different MIME types.
50
+ - **`cache_hit_traffic_ratio`** – Formula: 1 - `upstream_bytes` / `sent_bytes`.
51
+ We deduct the non-cached traffic from the total traffic amount.
52
+ - **`cache_hit_requests_ratio`** – Formula: `responses_hit` / requests. The
53
+ share of sending cached content.
54
+ - **`shield_traffic_ratio`** – Formula: (`shield_bytes` - `upstream_bytes`) /
55
+ `shield_bytes`. The efficiency of the Origin Shielding: how much more traffic
56
+ is sent from the Origin Shielding than from the origin.
57
+ - **`image_processed`** - Number of images transformed on the Image optimization
58
+ service.
59
+ - **`request_time`** - Time elapsed between the first bytes of a request were
60
+ processed and logging after the last bytes were sent to a user.
61
+ - **`upstream_response_time`** - Number of milliseconds it took to receive a
62
+ response from an origin. If upstream `response_time_` contains several
63
+ indications for one request (in case of more than 1 origin), we summarize
64
+ them. In case of aggregating several queries, the average of this amount is
65
+ calculated.
66
+
67
+ Metrics **`upstream_response_time`** and **`request_time`** should be requested
68
+ separately from other metrics
69
+ """
70
+
71
+ service: Required[str]
72
+ """Service name.
73
+
74
+ Possible value:
75
+
76
+ - CDN
77
+ """
78
+
79
+ to: Required[str]
80
+ """End of the requested time period (ISO 8601/RFC 3339 format, UTC.)"""
81
+
82
+ countries: str
83
+ """
84
+ Names of countries for which data should be displayed. English short name from
85
+ [ISO 3166 standard][1] without the definite article ("the") should be used.
86
+
87
+ [1]: https://www.iso.org/obp/ui/#search/code/
88
+
89
+ To request multiple values, use:
90
+
91
+ - &countries=france&countries=denmark
92
+ """
93
+
94
+ group_by: str
95
+ """Output data grouping.
96
+
97
+ Possible values:
98
+
99
+ - **resource** – Data is grouped by CDN resources IDs.
100
+ - **region** – Data is grouped by regions of CDN edge servers.
101
+ - **country** – Data is grouped by countries of CDN edge servers.
102
+ - **vhost** – Data is grouped by resources CNAMEs.
103
+
104
+ To request multiple values, use:
105
+
106
+ - &`group_by`=region&`group_by`=resource
107
+ """
108
+
109
+ regions: str
110
+ """Regions for which data is displayed.
111
+
112
+ Possible values:
113
+
114
+ - **na** – North America
115
+ - **eu** – Europe
116
+ - **cis** – Commonwealth of Independent States
117
+ - **asia** – Asia
118
+ - **au** – Australia
119
+ - **latam** – Latin America
120
+ - **me** – Middle East
121
+ - **africa** - Africa
122
+ - **sa** - South America
123
+ """
124
+
125
+ resource: int
126
+ """CDN resource IDs.
127
+
128
+ To request multiple values, use:
129
+
130
+ - &resource=1&resource=2
131
+ """
@@ -0,0 +1,42 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing_extensions import Required, Annotated, TypedDict
6
+
7
+ from ..._utils import PropertyInfo
8
+
9
+ __all__ = ["StatisticGetShieldUsageAggregatedParams"]
10
+
11
+
12
+ class StatisticGetShieldUsageAggregatedParams(TypedDict, total=False):
13
+ from_: Required[Annotated[str, PropertyInfo(alias="from")]]
14
+ """Beginning of the requested time period (ISO 8601/RFC 3339 format, UTC.)"""
15
+
16
+ to: Required[str]
17
+ """End of the requested time period (ISO 8601/RFC 3339 format, UTC.)"""
18
+
19
+ flat: bool
20
+ """The waу parameters are arranged in the response.
21
+
22
+ Possible values:
23
+
24
+ - **true** – Flat structure is used.
25
+ - **false** – Embedded structure is used (default.)
26
+ """
27
+
28
+ group_by: str
29
+ """Output data grouping.
30
+
31
+ Possible value:
32
+
33
+ - **resource** - Data is grouped by CDN resource.
34
+ """
35
+
36
+ resource: int
37
+ """CDN resources IDs by that statistics data is grouped.
38
+
39
+ To request multiple values, use:
40
+
41
+ - &resource=1&resource=2
42
+ """
@@ -0,0 +1,25 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing_extensions import Required, Annotated, TypedDict
6
+
7
+ from ..._utils import PropertyInfo
8
+
9
+ __all__ = ["StatisticGetShieldUsageSeriesParams"]
10
+
11
+
12
+ class StatisticGetShieldUsageSeriesParams(TypedDict, total=False):
13
+ from_: Required[Annotated[str, PropertyInfo(alias="from")]]
14
+ """Beginning of the requested time period (ISO 8601/RFC 3339 format, UTC.)"""
15
+
16
+ to: Required[str]
17
+ """End of the requested time period (ISO 8601/RFC 3339 format, UTC.)"""
18
+
19
+ resource: int
20
+ """CDN resources IDs by that statistics data is grouped.
21
+
22
+ To request multiple values, use:
23
+
24
+ - &resource=1&resource=2
25
+ """