gcore 0.10.0__py3-none-any.whl → 0.11.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 (319) hide show
  1. gcore/_base_client.py +3 -3
  2. gcore/_client.py +18 -0
  3. gcore/_compat.py +48 -48
  4. gcore/_models.py +41 -41
  5. gcore/_types.py +35 -1
  6. gcore/_utils/__init__.py +9 -2
  7. gcore/_utils/_compat.py +45 -0
  8. gcore/_utils/_datetime_parse.py +136 -0
  9. gcore/_utils/_transform.py +11 -1
  10. gcore/_utils/_typing.py +6 -1
  11. gcore/_utils/_utils.py +0 -1
  12. gcore/_version.py +1 -1
  13. gcore/resources/__init__.py +28 -0
  14. gcore/resources/cloud/__init__.py +14 -0
  15. gcore/resources/cloud/audit_logs.py +3 -3
  16. gcore/resources/cloud/baremetal/images.py +3 -4
  17. gcore/resources/cloud/baremetal/servers.py +16 -4
  18. gcore/resources/cloud/cloud.py +32 -0
  19. gcore/resources/cloud/cost_reports.py +24 -16
  20. gcore/resources/cloud/file_shares/access_rules.py +2 -2
  21. gcore/resources/cloud/file_shares/file_shares.py +30 -14
  22. gcore/resources/cloud/floating_ips.py +196 -4
  23. gcore/resources/cloud/gpu_baremetal_clusters/flavors.py +1 -1
  24. gcore/resources/cloud/gpu_baremetal_clusters/gpu_baremetal_clusters.py +166 -190
  25. gcore/resources/cloud/gpu_baremetal_clusters/servers.py +268 -12
  26. gcore/resources/cloud/inference/__init__.py +14 -14
  27. gcore/resources/cloud/inference/applications/__init__.py +47 -0
  28. gcore/resources/cloud/inference/applications/applications.py +134 -0
  29. gcore/resources/cloud/inference/applications/deployments.py +649 -0
  30. gcore/resources/cloud/inference/applications/templates.py +238 -0
  31. gcore/resources/cloud/inference/deployments/deployments.py +41 -22
  32. gcore/resources/cloud/inference/inference.py +32 -32
  33. gcore/resources/cloud/inference/registry_credentials.py +8 -9
  34. gcore/resources/cloud/instances/images.py +4 -4
  35. gcore/resources/cloud/instances/instances.py +254 -4
  36. gcore/resources/cloud/instances/interfaces.py +544 -0
  37. gcore/resources/cloud/k8s/__init__.py +47 -0
  38. gcore/resources/cloud/k8s/clusters/__init__.py +47 -0
  39. gcore/resources/cloud/k8s/clusters/clusters.py +1391 -0
  40. gcore/resources/cloud/k8s/clusters/nodes.py +291 -0
  41. gcore/resources/cloud/k8s/clusters/pools/__init__.py +33 -0
  42. gcore/resources/cloud/k8s/clusters/pools/nodes.py +303 -0
  43. gcore/resources/cloud/k8s/clusters/pools/pools.py +870 -0
  44. gcore/resources/cloud/k8s/flavors.py +209 -0
  45. gcore/resources/cloud/k8s/k8s.py +233 -0
  46. gcore/resources/cloud/load_balancers/l7_policies/l7_policies.py +11 -12
  47. gcore/resources/cloud/load_balancers/l7_policies/rules.py +9 -10
  48. gcore/resources/cloud/load_balancers/listeners.py +18 -18
  49. gcore/resources/cloud/load_balancers/load_balancers.py +4 -4
  50. gcore/resources/cloud/load_balancers/pools/health_monitors.py +18 -6
  51. gcore/resources/cloud/load_balancers/pools/members.py +32 -2
  52. gcore/resources/cloud/load_balancers/pools/pools.py +32 -8
  53. gcore/resources/cloud/networks/networks.py +192 -4
  54. gcore/resources/cloud/networks/subnets.py +140 -8
  55. gcore/resources/cloud/reserved_fixed_ips/vip.py +5 -7
  56. gcore/resources/cloud/security_groups/security_groups.py +6 -6
  57. gcore/resources/cloud/tasks.py +46 -46
  58. gcore/resources/cloud/users/role_assignments.py +5 -4
  59. gcore/resources/cloud/volumes.py +4 -4
  60. gcore/resources/dns/__init__.py +75 -0
  61. gcore/resources/dns/dns.py +374 -0
  62. gcore/resources/dns/locations.py +288 -0
  63. gcore/resources/dns/metrics.py +214 -0
  64. gcore/resources/dns/pickers/__init__.py +33 -0
  65. gcore/resources/dns/pickers/pickers.py +167 -0
  66. gcore/resources/dns/pickers/presets.py +135 -0
  67. gcore/resources/dns/zones/__init__.py +47 -0
  68. gcore/resources/{cloud/inference/models.py → dns/zones/dnssec.py} +80 -122
  69. gcore/resources/dns/zones/rrsets.py +1005 -0
  70. gcore/resources/dns/zones/zones.py +1493 -0
  71. gcore/resources/storage/__init__.py +75 -0
  72. gcore/resources/storage/buckets/__init__.py +61 -0
  73. gcore/resources/storage/buckets/buckets.py +470 -0
  74. gcore/resources/storage/buckets/cors.py +265 -0
  75. gcore/resources/storage/buckets/lifecycle.py +276 -0
  76. gcore/resources/storage/buckets/policy.py +345 -0
  77. gcore/resources/storage/credentials.py +221 -0
  78. gcore/resources/storage/locations.py +190 -0
  79. gcore/resources/storage/statistics.py +364 -0
  80. gcore/resources/storage/storage.py +1042 -0
  81. gcore/resources/streaming/ai_tasks.py +56 -70
  82. gcore/resources/streaming/playlists.py +18 -18
  83. gcore/resources/streaming/quality_sets.py +8 -8
  84. gcore/resources/streaming/statistics.py +4 -122
  85. gcore/resources/streaming/streams/overlays.py +6 -6
  86. gcore/resources/streaming/streams/streams.py +40 -64
  87. gcore/resources/streaming/videos/subtitles.py +32 -30
  88. gcore/resources/streaming/videos/videos.py +78 -72
  89. gcore/resources/waap/domains/advanced_rules.py +2 -2
  90. gcore/resources/waap/domains/api_paths.py +13 -13
  91. gcore/resources/waap/domains/custom_rules.py +2 -2
  92. gcore/resources/waap/domains/domains.py +4 -4
  93. gcore/resources/waap/domains/firewall_rules.py +2 -2
  94. gcore/resources/waap/domains/insight_silences.py +6 -6
  95. gcore/resources/waap/domains/insights.py +7 -7
  96. gcore/resources/waap/domains/statistics.py +47 -47
  97. gcore/types/cloud/__init__.py +2 -4
  98. gcore/types/cloud/audit_log_list_params.py +2 -1
  99. gcore/types/cloud/baremetal/image_list_params.py +3 -2
  100. gcore/types/cloud/baremetal/server_create_params.py +8 -6
  101. gcore/types/cloud/baremetal/server_list_params.py +3 -2
  102. gcore/types/cloud/baremetal/server_rebuild_params.py +2 -0
  103. gcore/types/cloud/cost_report_get_aggregated_monthly_params.py +35 -31
  104. gcore/types/cloud/cost_report_get_aggregated_params.py +26 -25
  105. gcore/types/cloud/cost_report_get_detailed_params.py +26 -25
  106. gcore/types/cloud/ddos_profile.py +13 -7
  107. gcore/types/cloud/ddos_profile_field.py +21 -8
  108. gcore/types/cloud/ddos_profile_option_list.py +7 -6
  109. gcore/types/cloud/ddos_profile_status.py +2 -2
  110. gcore/types/cloud/ddos_profile_template.py +7 -3
  111. gcore/types/cloud/ddos_profile_template_field.py +12 -3
  112. gcore/types/cloud/file_share.py +2 -2
  113. gcore/types/cloud/file_share_create_params.py +12 -6
  114. gcore/types/cloud/floating_ip_list_params.py +3 -2
  115. gcore/types/cloud/gpu_baremetal_cluster.py +101 -74
  116. gcore/types/cloud/gpu_baremetal_cluster_create_params.py +76 -93
  117. gcore/types/cloud/gpu_baremetal_cluster_delete_params.py +17 -10
  118. gcore/types/cloud/gpu_baremetal_cluster_list_params.py +14 -3
  119. gcore/types/cloud/gpu_baremetal_cluster_rebuild_params.py +4 -2
  120. gcore/types/cloud/gpu_baremetal_clusters/__init__.py +6 -0
  121. gcore/types/cloud/gpu_baremetal_clusters/gpu_baremetal_cluster_server.py +74 -0
  122. gcore/types/cloud/{gpu_baremetal_cluster_server.py → gpu_baremetal_clusters/gpu_baremetal_cluster_server_v1.py} +10 -10
  123. gcore/types/cloud/gpu_baremetal_clusters/gpu_baremetal_cluster_server_v1_list.py +16 -0
  124. gcore/types/cloud/{gpu_baremetal_flavor.py → gpu_baremetal_clusters/gpu_baremetal_flavor.py} +1 -1
  125. gcore/types/cloud/{gpu_baremetal_flavor_list.py → gpu_baremetal_clusters/gpu_baremetal_flavor_list.py} +1 -1
  126. gcore/types/cloud/gpu_baremetal_clusters/server_list_params.py +75 -0
  127. gcore/types/cloud/inference/__init__.py +0 -5
  128. gcore/types/cloud/inference/applications/__init__.py +12 -0
  129. gcore/types/cloud/inference/applications/deployment_create_params.py +68 -0
  130. gcore/types/cloud/inference/applications/deployment_patch_params.py +62 -0
  131. gcore/types/cloud/inference/applications/inference_application_deployment.py +111 -0
  132. gcore/types/cloud/inference/applications/inference_application_deployment_list.py +16 -0
  133. gcore/types/cloud/inference/applications/inference_application_template.py +94 -0
  134. gcore/types/cloud/inference/applications/inference_application_template_list.py +16 -0
  135. gcore/types/cloud/inference/deployment_create_params.py +7 -6
  136. gcore/types/cloud/inference/deployment_update_params.py +7 -6
  137. gcore/types/cloud/instance_assign_security_group_params.py +4 -2
  138. gcore/types/cloud/instance_list_params.py +3 -2
  139. gcore/types/cloud/instance_unassign_security_group_params.py +4 -2
  140. gcore/types/cloud/instances/image_list_params.py +3 -2
  141. gcore/types/cloud/k8s/__init__.py +13 -0
  142. gcore/types/cloud/k8s/cluster_create_params.py +299 -0
  143. gcore/types/cloud/k8s/cluster_delete_params.py +16 -0
  144. gcore/types/cloud/k8s/cluster_update_params.py +203 -0
  145. gcore/types/cloud/k8s/cluster_upgrade_params.py +16 -0
  146. gcore/types/cloud/k8s/clusters/__init__.py +10 -0
  147. gcore/types/cloud/k8s/clusters/k8s_cluster_pool.py +66 -0
  148. gcore/types/cloud/k8s/clusters/k8s_cluster_pool_list.py +16 -0
  149. gcore/types/cloud/k8s/clusters/node_list_params.py +16 -0
  150. gcore/types/cloud/k8s/clusters/pool_create_params.py +53 -0
  151. gcore/types/cloud/k8s/clusters/pool_resize_params.py +18 -0
  152. gcore/types/cloud/k8s/clusters/pool_update_params.py +34 -0
  153. gcore/types/cloud/k8s/clusters/pools/__init__.py +5 -0
  154. gcore/types/cloud/k8s/clusters/pools/node_list_params.py +18 -0
  155. gcore/types/cloud/k8s/flavor_list_params.py +19 -0
  156. gcore/types/cloud/k8s/k8s_cluster.py +209 -0
  157. gcore/types/cloud/k8s/k8s_cluster_certificate.py +13 -0
  158. gcore/types/cloud/k8s/k8s_cluster_kubeconfig.py +19 -0
  159. gcore/types/cloud/k8s/k8s_cluster_list.py +16 -0
  160. gcore/types/cloud/k8s_cluster_version.py +10 -0
  161. gcore/types/cloud/{gpu_baremetal_cluster_server_list.py → k8s_cluster_version_list.py} +4 -4
  162. gcore/types/cloud/load_balancer_create_params.py +23 -4
  163. gcore/types/cloud/load_balancer_list_params.py +3 -2
  164. gcore/types/cloud/load_balancers/l7_policies/rule_create_params.py +3 -2
  165. gcore/types/cloud/load_balancers/l7_policies/rule_replace_params.py +3 -2
  166. gcore/types/cloud/load_balancers/l7_policy_create_params.py +3 -2
  167. gcore/types/cloud/load_balancers/l7_policy_replace_params.py +3 -2
  168. gcore/types/cloud/load_balancers/listener_create_params.py +4 -3
  169. gcore/types/cloud/load_balancers/listener_update_params.py +5 -3
  170. gcore/types/cloud/load_balancers/pool_create_params.py +19 -1
  171. gcore/types/cloud/load_balancers/pool_update_params.py +19 -1
  172. gcore/types/cloud/load_balancers/pools/member_add_params.py +19 -1
  173. gcore/types/cloud/member.py +19 -1
  174. gcore/types/cloud/network_list_params.py +3 -2
  175. gcore/types/cloud/networks/subnet_create_params.py +3 -2
  176. gcore/types/cloud/networks/subnet_list_params.py +3 -2
  177. gcore/types/cloud/networks/subnet_update_params.py +3 -2
  178. gcore/types/cloud/project.py +9 -9
  179. gcore/types/cloud/reserved_fixed_ips/vip_replace_connected_ports_params.py +3 -2
  180. gcore/types/cloud/reserved_fixed_ips/vip_update_connected_ports_params.py +3 -2
  181. gcore/types/cloud/security_group_create_params.py +4 -2
  182. gcore/types/cloud/security_group_list_params.py +3 -2
  183. gcore/types/cloud/task_id_list.py +8 -1
  184. gcore/types/cloud/task_list_params.py +23 -23
  185. gcore/types/cloud/usage_report_get_params.py +26 -25
  186. gcore/types/cloud/users/role_assignment.py +2 -1
  187. gcore/types/cloud/users/role_assignment_create_params.py +4 -2
  188. gcore/types/cloud/users/role_assignment_update_params.py +4 -2
  189. gcore/types/cloud/volume_list_params.py +3 -2
  190. gcore/types/dns/__init__.py +31 -0
  191. gcore/types/dns/dns_get_account_overview_response.py +21 -0
  192. gcore/types/dns/dns_label_name.py +13 -0
  193. gcore/types/dns/dns_location_translations.py +11 -0
  194. gcore/types/dns/dns_lookup_params.py +15 -0
  195. gcore/types/dns/dns_lookup_response.py +21 -0
  196. gcore/types/dns/dns_name_server.py +17 -0
  197. gcore/types/dns/location_list_continents_response.py +10 -0
  198. gcore/types/dns/location_list_countries_response.py +10 -0
  199. gcore/types/dns/location_list_regions_response.py +10 -0
  200. gcore/types/dns/location_list_response.py +16 -0
  201. gcore/types/dns/metric_list_params.py +24 -0
  202. gcore/types/dns/metric_list_response.py +7 -0
  203. gcore/types/dns/picker_list_response.py +10 -0
  204. gcore/types/dns/pickers/__init__.py +5 -0
  205. gcore/types/dns/pickers/preset_list_response.py +10 -0
  206. gcore/types/dns/zone_check_delegation_status_response.py +20 -0
  207. gcore/types/dns/zone_create_params.py +59 -0
  208. gcore/types/dns/zone_create_response.py +13 -0
  209. gcore/types/dns/zone_export_response.py +11 -0
  210. gcore/types/dns/zone_get_response.py +106 -0
  211. gcore/types/dns/zone_get_statistics_params.py +43 -0
  212. gcore/types/dns/zone_get_statistics_response.py +19 -0
  213. gcore/types/dns/zone_import_params.py +32 -0
  214. gcore/types/dns/zone_import_response.py +26 -0
  215. gcore/types/dns/zone_list_params.py +57 -0
  216. gcore/types/dns/zone_list_response.py +105 -0
  217. gcore/types/dns/zone_replace_params.py +61 -0
  218. gcore/types/dns/zones/__init__.py +15 -0
  219. gcore/types/dns/zones/dns_failover_log.py +19 -0
  220. gcore/types/dns/zones/dns_output_rrset.py +123 -0
  221. gcore/types/dns/zones/dnssec_get_response.py +38 -0
  222. gcore/types/dns/zones/dnssec_update_params.py +11 -0
  223. gcore/types/dns/zones/dnssec_update_response.py +38 -0
  224. gcore/types/dns/zones/rrset_create_params.py +82 -0
  225. gcore/types/dns/zones/rrset_get_failover_logs_params.py +21 -0
  226. gcore/types/dns/zones/rrset_get_failover_logs_response.py +15 -0
  227. gcore/types/dns/zones/rrset_list_params.py +21 -0
  228. gcore/types/dns/zones/rrset_list_response.py +14 -0
  229. gcore/types/dns/zones/rrset_replace_params.py +82 -0
  230. gcore/types/security/client_profile.py +1 -1
  231. gcore/types/security/profile_create_params.py +2 -2
  232. gcore/types/security/profile_recreate_params.py +2 -2
  233. gcore/types/security/profile_replace_params.py +2 -2
  234. gcore/types/storage/__init__.py +21 -0
  235. gcore/types/storage/bucket.py +15 -0
  236. gcore/types/storage/bucket_list_params.py +15 -0
  237. gcore/types/storage/buckets/__init__.py +9 -0
  238. gcore/types/storage/buckets/bucket_cors.py +18 -0
  239. gcore/types/storage/buckets/bucket_policy.py +7 -0
  240. gcore/types/storage/buckets/cor_create_params.py +17 -0
  241. gcore/types/storage/buckets/lifecycle_create_params.py +18 -0
  242. gcore/types/storage/buckets/policy_get_response.py +7 -0
  243. gcore/types/storage/credential_recreate_params.py +36 -0
  244. gcore/types/storage/location.py +24 -0
  245. gcore/types/storage/location_list_params.py +13 -0
  246. gcore/types/storage/statistic_get_usage_aggregated_params.py +24 -0
  247. gcore/types/storage/statistic_get_usage_series_params.py +38 -0
  248. gcore/types/storage/statistic_get_usage_series_response.py +12 -0
  249. gcore/types/storage/storage.py +101 -0
  250. gcore/types/storage/storage_create_params.py +44 -0
  251. gcore/types/storage/storage_list_params.py +39 -0
  252. gcore/types/storage/storage_restore_params.py +11 -0
  253. gcore/types/storage/storage_update_params.py +18 -0
  254. gcore/types/storage/usage_series.py +201 -0
  255. gcore/types/storage/usage_total.py +54 -0
  256. gcore/types/streaming/__init__.py +0 -4
  257. gcore/types/streaming/ai_contentmoderation_hardnudity.py +1 -1
  258. gcore/types/streaming/ai_contentmoderation_nsfw.py +1 -1
  259. gcore/types/streaming/ai_contentmoderation_softnudity.py +1 -1
  260. gcore/types/streaming/ai_contentmoderation_sport.py +1 -1
  261. gcore/types/streaming/ai_task.py +1 -5
  262. gcore/types/streaming/ai_task_create_params.py +2 -2
  263. gcore/types/streaming/ai_task_get_response.py +0 -46
  264. gcore/types/streaming/clip.py +2 -1
  265. gcore/types/streaming/create_video_param.py +13 -12
  266. gcore/types/streaming/max_stream_series.py +5 -5
  267. gcore/types/streaming/playlist.py +1 -1
  268. gcore/types/streaming/playlist_create_params.py +1 -1
  269. gcore/types/streaming/playlist_update_params.py +1 -1
  270. gcore/types/streaming/playlist_video.py +13 -12
  271. gcore/types/streaming/storage_series.py +5 -5
  272. gcore/types/streaming/stream.py +86 -49
  273. gcore/types/streaming/stream_create_clip_params.py +2 -1
  274. gcore/types/streaming/stream_create_params.py +9 -23
  275. gcore/types/streaming/stream_series.py +5 -5
  276. gcore/types/streaming/stream_update_params.py +9 -23
  277. gcore/types/streaming/video.py +53 -42
  278. gcore/types/streaming/video_update_params.py +13 -12
  279. gcore/types/streaming/vod_statistics_series.py +5 -5
  280. gcore/types/streaming/vod_total_stream_duration_series.py +3 -3
  281. gcore/types/waap/domain_list_params.py +1 -1
  282. gcore/types/waap/domain_update_params.py +1 -1
  283. gcore/types/waap/domains/advanced_rule_create_params.py +7 -4
  284. gcore/types/waap/domains/advanced_rule_update_params.py +6 -3
  285. gcore/types/waap/domains/api_path_create_params.py +4 -3
  286. gcore/types/waap/domains/api_path_list_params.py +3 -1
  287. gcore/types/waap/domains/api_path_update_params.py +5 -4
  288. gcore/types/waap/domains/custom_rule_create_params.py +13 -14
  289. gcore/types/waap/domains/custom_rule_update_params.py +12 -13
  290. gcore/types/waap/domains/firewall_rule_create_params.py +3 -2
  291. gcore/types/waap/domains/firewall_rule_update_params.py +2 -1
  292. gcore/types/waap/domains/insight_list_params.py +4 -2
  293. gcore/types/waap/domains/insight_replace_params.py +1 -1
  294. gcore/types/waap/domains/insight_silence_list_params.py +5 -3
  295. gcore/types/waap/domains/setting_update_params.py +3 -2
  296. gcore/types/waap/domains/statistic_get_ddos_info_params.py +6 -9
  297. gcore/types/waap/domains/statistic_get_events_aggregated_params.py +9 -10
  298. gcore/types/waap/domains/statistic_get_requests_series_params.py +8 -9
  299. gcore/types/waap/domains/statistic_get_traffic_series_params.py +6 -9
  300. gcore/types/waap/domains/waap_advanced_rule.py +3 -2
  301. gcore/types/waap/domains/waap_api_path.py +4 -4
  302. gcore/types/waap/domains/waap_api_scan_result.py +2 -2
  303. gcore/types/waap/domains/waap_custom_rule.py +4 -7
  304. gcore/types/waap/domains/waap_firewall_rule.py +3 -2
  305. gcore/types/waap/domains/waap_insight.py +1 -1
  306. gcore/types/waap/domains/waap_request_details.py +5 -4
  307. gcore/types/waap/waap_ip_ddos_info_model.py +3 -3
  308. gcore/types/waap/waap_rule_set.py +1 -1
  309. {gcore-0.10.0.dist-info → gcore-0.11.0.dist-info}/METADATA +7 -2
  310. {gcore-0.10.0.dist-info → gcore-0.11.0.dist-info}/RECORD +312 -192
  311. gcore/types/cloud/inference/inference_model.py +0 -65
  312. gcore/types/cloud/inference/inference_registry_credentials_create.py +0 -22
  313. gcore/types/cloud/inference/model_list_params.py +0 -21
  314. gcore/types/streaming/ai_contentmoderation_casm.py +0 -39
  315. gcore/types/streaming/ai_contentmoderation_weapon.py +0 -39
  316. gcore/types/streaming/meet_series.py +0 -23
  317. gcore/types/streaming/statistic_get_meet_series_params.py +0 -20
  318. {gcore-0.10.0.dist-info → gcore-0.11.0.dist-info}/WHEEL +0 -0
  319. {gcore-0.10.0.dist-info → gcore-0.11.0.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,106 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List, Optional
4
+
5
+ from pydantic import Field as FieldInfo
6
+
7
+ from ..._models import BaseModel
8
+
9
+ __all__ = ["ZoneGetResponse", "Zone", "ZoneRecord", "ZoneRrsetsAmount", "ZoneRrsetsAmountDynamic"]
10
+
11
+
12
+ class ZoneRecord(BaseModel):
13
+ name: Optional[str] = None
14
+
15
+ short_answers: Optional[List[str]] = None
16
+
17
+ ttl: Optional[int] = None
18
+
19
+ type: Optional[str] = None
20
+
21
+
22
+ class ZoneRrsetsAmountDynamic(BaseModel):
23
+ healthcheck: Optional[int] = None
24
+ """Amount of RRsets with enabled healthchecks"""
25
+
26
+ total: Optional[int] = None
27
+ """Total amount of dynamic RRsets in zone"""
28
+
29
+
30
+ class ZoneRrsetsAmount(BaseModel):
31
+ dynamic: Optional[ZoneRrsetsAmountDynamic] = None
32
+ """Amount of dynamic RRsets in zone"""
33
+
34
+ static: Optional[int] = None
35
+ """Amount of static RRsets in zone"""
36
+
37
+ total: Optional[int] = None
38
+ """Total amount of RRsets in zone"""
39
+
40
+
41
+ class Zone(BaseModel):
42
+ id: Optional[int] = None
43
+ """
44
+ ID of zone. This field usually is omitted in response and available only in case
45
+ of getting deleted zones by admin.
46
+ """
47
+
48
+ client_id: Optional[int] = None
49
+
50
+ contact: Optional[str] = None
51
+ """email address of the administrator responsible for this zone"""
52
+
53
+ dnssec_enabled: Optional[bool] = None
54
+ """
55
+ describe dnssec status true means dnssec is enabled for the zone false means
56
+ dnssec is disabled for the zone
57
+ """
58
+
59
+ expiry: Optional[int] = None
60
+ """
61
+ number of seconds after which secondary name servers should stop answering
62
+ request for this zone
63
+ """
64
+
65
+ meta: Optional[object] = None
66
+ """arbitrarily data of zone in json format"""
67
+
68
+ name: Optional[str] = None
69
+ """name of DNS zone"""
70
+
71
+ nx_ttl: Optional[int] = None
72
+ """Time To Live of cache"""
73
+
74
+ primary_server: Optional[str] = None
75
+ """primary master name server for zone"""
76
+
77
+ records: Optional[List[ZoneRecord]] = None
78
+
79
+ refresh: Optional[int] = None
80
+ """
81
+ number of seconds after which secondary name servers should query the master for
82
+ the SOA record, to detect zone changes.
83
+ """
84
+
85
+ retry: Optional[int] = None
86
+ """
87
+ number of seconds after which secondary name servers should retry to request the
88
+ serial number
89
+ """
90
+
91
+ rrsets_amount: Optional[ZoneRrsetsAmount] = None
92
+
93
+ serial: Optional[int] = None
94
+ """
95
+ Serial number for this zone or Timestamp of zone modification moment. If a
96
+ secondary name server slaved to this one observes an increase in this number,
97
+ the slave will assume that the zone has been updated and initiate a zone
98
+ transfer.
99
+ """
100
+
101
+ status: Optional[str] = None
102
+
103
+
104
+ class ZoneGetResponse(BaseModel):
105
+ zone: Optional[Zone] = FieldInfo(alias="Zone", default=None)
106
+ """OutputZone"""
@@ -0,0 +1,43 @@
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 Annotated, TypedDict
6
+
7
+ from ..._utils import PropertyInfo
8
+
9
+ __all__ = ["ZoneGetStatisticsParams"]
10
+
11
+
12
+ class ZoneGetStatisticsParams(TypedDict, total=False):
13
+ from_: Annotated[int, PropertyInfo(alias="from")]
14
+ """
15
+ Beginning of the requested time period (Unix Timestamp, UTC.) In a query string:
16
+ &from=1709068637
17
+ """
18
+
19
+ granularity: str
20
+ """
21
+ Granularity parameter string is a sequence of decimal numbers, each with
22
+ optional fraction and a unit suffix, such as "300ms", "1.5h" or "2h45m". Valid
23
+ time units are "s", "m", "h".
24
+ """
25
+
26
+ record_type: str
27
+ """DNS record type. Possible values:
28
+
29
+ - A
30
+ - AAAA
31
+ - NS
32
+ - CNAME
33
+ - MX
34
+ - TXT
35
+ - SVCB
36
+ - HTTPS
37
+ """
38
+
39
+ to: int
40
+ """
41
+ End of the requested time period (Unix Timestamp, UTC.) In a query string:
42
+ &to=1709673437
43
+ """
@@ -0,0 +1,19 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+
5
+ from ..._models import BaseModel
6
+
7
+ __all__ = ["ZoneGetStatisticsResponse"]
8
+
9
+
10
+ class ZoneGetStatisticsResponse(BaseModel):
11
+ requests: Optional[object] = None
12
+ """
13
+ Requests amount (values) for particular zone fractionated by time intervals
14
+ (keys). Example of response:
15
+ `{ "requests": { "1598608080000": 14716, "1598608140000": 51167, "1598608200000": 53432, "1598611020000": 51050, "1598611080000": 52611, "1598611140000": 46884 } }`
16
+ """
17
+
18
+ total: Optional[int] = None
19
+ """Total - sum of all values"""
@@ -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_extensions import TypedDict
6
+
7
+ __all__ = ["ZoneImportParams"]
8
+
9
+
10
+ class ZoneImportParams(TypedDict, total=False):
11
+ body: object
12
+ """Read reads up to len(p) bytes into p.
13
+
14
+ It returns the number of bytes read (0 <= n <= len(p)) and any error
15
+ encountered. Even if Read returns n < len(p), it may use all of p as scratch
16
+ space during the call. If some data is available but not len(p) bytes, Read
17
+ conventionally returns what is available instead of waiting for more. When Read
18
+ encounters an error or end-of-file condition after successfully reading n > 0
19
+ bytes, it returns the number of bytes read. It may return the (non-nil) error
20
+ from the same call or return the error (and n == 0) from a subsequent call. An
21
+ instance of this general case is that a Reader returning a non-zero number of
22
+ bytes at the end of the input stream may return either err == EOF or err == nil.
23
+ The next Read should return 0, EOF. Callers should always process the n > 0
24
+ bytes returned before considering the error err. Doing so correctly handles I/O
25
+ errors that happen after reading some bytes and also both of the allowed EOF
26
+ behaviors. If len(p) == 0, Read should always return n == 0. It may return a
27
+ non-nil error if some error condition is known, such as EOF. Implementations of
28
+ Read are discouraged from returning a zero byte count with a nil error, except
29
+ when len(p) == 0. Callers should treat a return of 0 and nil as indicating that
30
+ nothing happened; in particular it does not indicate EOF. Implementations must
31
+ not retain p.
32
+ """
@@ -0,0 +1,26 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Dict, Optional
4
+
5
+ from ..._models import BaseModel
6
+
7
+ __all__ = ["ZoneImportResponse", "Imported"]
8
+
9
+
10
+ class Imported(BaseModel):
11
+ qtype: Optional[int] = None
12
+
13
+ resource_records: Optional[int] = None
14
+
15
+ rrsets: Optional[int] = None
16
+
17
+ skipped_resource_records: Optional[int] = None
18
+
19
+
20
+ class ZoneImportResponse(BaseModel):
21
+ imported: Optional[Imported] = None
22
+ """ImportedRRSets - import statistics"""
23
+
24
+ success: Optional[bool] = None
25
+
26
+ warnings: Optional[Dict[str, Dict[str, str]]] = None
@@ -0,0 +1,57 @@
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 Union, Iterable
6
+ from datetime import datetime
7
+ from typing_extensions import Literal, Annotated, TypedDict
8
+
9
+ from ..._types import SequenceNotStr
10
+ from ..._utils import PropertyInfo
11
+
12
+ __all__ = ["ZoneListParams"]
13
+
14
+
15
+ class ZoneListParams(TypedDict, total=False):
16
+ id: Iterable[int]
17
+ """to pass several ids `id=1&id=3&id=5...`"""
18
+
19
+ case_sensitive: bool
20
+
21
+ client_id: Iterable[int]
22
+ """to pass several `client_ids` `client_id=1&`client_id`=3&`client_id`=5...`"""
23
+
24
+ dynamic: bool
25
+ """Zones with dynamic RRsets"""
26
+
27
+ enabled: bool
28
+
29
+ exact_match: bool
30
+
31
+ healthcheck: bool
32
+ """Zones with RRsets that have healthchecks"""
33
+
34
+ iam_reseller_id: Iterable[int]
35
+
36
+ limit: int
37
+ """Max number of records in response"""
38
+
39
+ name: SequenceNotStr[str]
40
+ """to pass several names `name=first&name=second...`"""
41
+
42
+ offset: int
43
+ """Amount of records to skip before beginning to write in response."""
44
+
45
+ order_by: str
46
+ """Field name to sort by"""
47
+
48
+ order_direction: Literal["asc", "desc"]
49
+ """Ascending or descending order"""
50
+
51
+ reseller_id: Iterable[int]
52
+
53
+ status: str
54
+
55
+ updated_at_from: Annotated[Union[str, datetime], PropertyInfo(format="iso8601")]
56
+
57
+ updated_at_to: Annotated[Union[str, datetime], PropertyInfo(format="iso8601")]
@@ -0,0 +1,105 @@
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__ = ["ZoneListResponse", "Zone", "ZoneRecord", "ZoneRrsetsAmount", "ZoneRrsetsAmountDynamic"]
8
+
9
+
10
+ class ZoneRecord(BaseModel):
11
+ name: Optional[str] = None
12
+
13
+ short_answers: Optional[List[str]] = None
14
+
15
+ ttl: Optional[int] = None
16
+
17
+ type: Optional[str] = None
18
+
19
+
20
+ class ZoneRrsetsAmountDynamic(BaseModel):
21
+ healthcheck: Optional[int] = None
22
+ """Amount of RRsets with enabled healthchecks"""
23
+
24
+ total: Optional[int] = None
25
+ """Total amount of dynamic RRsets in zone"""
26
+
27
+
28
+ class ZoneRrsetsAmount(BaseModel):
29
+ dynamic: Optional[ZoneRrsetsAmountDynamic] = None
30
+ """Amount of dynamic RRsets in zone"""
31
+
32
+ static: Optional[int] = None
33
+ """Amount of static RRsets in zone"""
34
+
35
+ total: Optional[int] = None
36
+ """Total amount of RRsets in zone"""
37
+
38
+
39
+ class Zone(BaseModel):
40
+ id: Optional[int] = None
41
+ """
42
+ ID of zone. This field usually is omitted in response and available only in case
43
+ of getting deleted zones by admin.
44
+ """
45
+
46
+ client_id: Optional[int] = None
47
+
48
+ contact: Optional[str] = None
49
+ """email address of the administrator responsible for this zone"""
50
+
51
+ dnssec_enabled: Optional[bool] = None
52
+ """
53
+ describe dnssec status true means dnssec is enabled for the zone false means
54
+ dnssec is disabled for the zone
55
+ """
56
+
57
+ expiry: Optional[int] = None
58
+ """
59
+ number of seconds after which secondary name servers should stop answering
60
+ request for this zone
61
+ """
62
+
63
+ meta: Optional[object] = None
64
+ """arbitrarily data of zone in json format"""
65
+
66
+ name: Optional[str] = None
67
+ """name of DNS zone"""
68
+
69
+ nx_ttl: Optional[int] = None
70
+ """Time To Live of cache"""
71
+
72
+ primary_server: Optional[str] = None
73
+ """primary master name server for zone"""
74
+
75
+ records: Optional[List[ZoneRecord]] = None
76
+
77
+ refresh: Optional[int] = None
78
+ """
79
+ number of seconds after which secondary name servers should query the master for
80
+ the SOA record, to detect zone changes.
81
+ """
82
+
83
+ retry: Optional[int] = None
84
+ """
85
+ number of seconds after which secondary name servers should retry to request the
86
+ serial number
87
+ """
88
+
89
+ rrsets_amount: Optional[ZoneRrsetsAmount] = None
90
+
91
+ serial: Optional[int] = None
92
+ """
93
+ Serial number for this zone or Timestamp of zone modification moment. If a
94
+ secondary name server slaved to this one observes an increase in this number,
95
+ the slave will assume that the zone has been updated and initiate a zone
96
+ transfer.
97
+ """
98
+
99
+ status: Optional[str] = None
100
+
101
+
102
+ class ZoneListResponse(BaseModel):
103
+ total_amount: Optional[int] = None
104
+
105
+ zones: Optional[List[Zone]] = None
@@ -0,0 +1,61 @@
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 Dict
6
+ from typing_extensions import Required, Annotated, TypedDict
7
+
8
+ from ..._utils import PropertyInfo
9
+
10
+ __all__ = ["ZoneReplaceParams"]
11
+
12
+
13
+ class ZoneReplaceParams(TypedDict, total=False):
14
+ body_name: Required[Annotated[str, PropertyInfo(alias="name")]]
15
+ """name of DNS zone"""
16
+
17
+ contact: str
18
+ """email address of the administrator responsible for this zone"""
19
+
20
+ enabled: bool
21
+ """If a zone is disabled, then its records will not be resolved on dns servers"""
22
+
23
+ expiry: int
24
+ """
25
+ number of seconds after which secondary name servers should stop answering
26
+ request for this zone
27
+ """
28
+
29
+ meta: Dict[str, object]
30
+ """
31
+ arbitrarily data of zone in json format you can specify `webhook` url and
32
+ `webhook_method` here webhook will get a map with three arrays: for created,
33
+ updated and deleted rrsets `webhook_method` can be omitted, POST will be used by
34
+ default
35
+ """
36
+
37
+ nx_ttl: int
38
+ """Time To Live of cache"""
39
+
40
+ primary_server: str
41
+ """primary master name server for zone"""
42
+
43
+ refresh: int
44
+ """
45
+ number of seconds after which secondary name servers should query the master for
46
+ the SOA record, to detect zone changes.
47
+ """
48
+
49
+ retry: int
50
+ """
51
+ number of seconds after which secondary name servers should retry to request the
52
+ serial number
53
+ """
54
+
55
+ serial: int
56
+ """
57
+ Serial number for this zone or Timestamp of zone modification moment. If a
58
+ secondary name server slaved to this one observes an increase in this number,
59
+ the slave will assume that the zone has been updated and initiate a zone
60
+ transfer.
61
+ """
@@ -0,0 +1,15 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from .dns_failover_log import DNSFailoverLog as DNSFailoverLog
6
+ from .dns_output_rrset import DNSOutputRrset as DNSOutputRrset
7
+ from .rrset_list_params import RrsetListParams as RrsetListParams
8
+ from .dnssec_get_response import DnssecGetResponse as DnssecGetResponse
9
+ from .rrset_create_params import RrsetCreateParams as RrsetCreateParams
10
+ from .rrset_list_response import RrsetListResponse as RrsetListResponse
11
+ from .dnssec_update_params import DnssecUpdateParams as DnssecUpdateParams
12
+ from .rrset_replace_params import RrsetReplaceParams as RrsetReplaceParams
13
+ from .dnssec_update_response import DnssecUpdateResponse as DnssecUpdateResponse
14
+ from .rrset_get_failover_logs_params import RrsetGetFailoverLogsParams as RrsetGetFailoverLogsParams
15
+ from .rrset_get_failover_logs_response import RrsetGetFailoverLogsResponse as RrsetGetFailoverLogsResponse
@@ -0,0 +1,19 @@
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__ = ["DNSFailoverLog", "DNSFailoverLogItem"]
9
+
10
+
11
+ class DNSFailoverLogItem(BaseModel):
12
+ action: Optional[str] = None
13
+
14
+ address: Optional[str] = None
15
+
16
+ time: Optional[int] = None
17
+
18
+
19
+ DNSFailoverLog: TypeAlias = List[DNSFailoverLogItem]
@@ -0,0 +1,123 @@
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
+ from typing_extensions import Literal
6
+
7
+ from ...._models import BaseModel
8
+
9
+ __all__ = ["DNSOutputRrset", "ResourceRecord", "Picker", "Warning"]
10
+
11
+
12
+ class ResourceRecord(BaseModel):
13
+ content: List[object]
14
+ """
15
+ Content of resource record The exact length of the array depends on the type of
16
+ rrset, each individual record parameter must be a separate element of the array.
17
+ For example
18
+
19
+ - SRV-record: `[100, 1, 5061, "example.com"]`
20
+ - CNAME-record: `[ "the.target.domain" ]`
21
+ - A-record: `[ "1.2.3.4", "5.6.7.8" ]`
22
+ - AAAA-record: `[ "2001:db8::1", "2001:db8::2" ]`
23
+ - MX-record: `[ "mail1.example.com", "mail2.example.com" ]`
24
+ - SVCB/HTTPS-record:
25
+ `[ 1, ".", ["alpn", "h3", "h2"], [ "port", 1443 ], [ "ipv4hint", "10.0.0.1" ], [ "ech", "AEn+DQBFKwAgACABWIHUGj4u+PIggYXcR5JF0gYk3dCRioBW8uJq9H4mKAAIAAEAAQABAANAEnB1YmxpYy50bHMtZWNoLmRldgAA" ] ]`
26
+ """
27
+
28
+ id: Optional[int] = None
29
+
30
+ enabled: Optional[bool] = None
31
+
32
+ meta: Optional[Dict[str, object]] = None
33
+ """
34
+ Meta information for record Map with string key and any valid json as value,
35
+ with valid keys
36
+
37
+ 1. `asn` (array of int)
38
+ 2. `continents` (array of string)
39
+ 3. `countries` (array of string)
40
+ 4. `latlong` (array of float64, latitude and longitude)
41
+ 5. `fallback` (bool)
42
+ 6. `backup` (bool)
43
+ 7. `notes` (string)
44
+ 8. `weight` (float)
45
+ 9. `ip` (string) Some keys are reserved for balancing, @see
46
+ https://api.gcore.com/dns/v2/info/meta This meta will be used to decide which
47
+ resource record should pass through filters from the filter set
48
+ """
49
+
50
+
51
+ class Picker(BaseModel):
52
+ type: Literal[
53
+ "geodns", "asn", "country", "continent", "region", "ip", "geodistance", "weighted_shuffle", "default", "first_n"
54
+ ]
55
+ """Filter type"""
56
+
57
+ limit: Optional[int] = None
58
+ """
59
+ Limits the number of records returned by the filter Can be a positive value for
60
+ a specific limit. Use zero or leave it blank to indicate no limits.
61
+ """
62
+
63
+ strict: Optional[bool] = None
64
+ """
65
+ if strict=false, then the filter will return all records if no records match the
66
+ filter
67
+ """
68
+
69
+
70
+ class Warning(BaseModel):
71
+ key: Optional[str] = None
72
+
73
+ message: Optional[str] = None
74
+
75
+
76
+ class DNSOutputRrset(BaseModel):
77
+ name: str
78
+
79
+ resource_records: List[ResourceRecord]
80
+ """List of resource record from rrset"""
81
+
82
+ type: Literal["A", "AAAA", "NS", "CNAME", "MX", "TXT", "SRV", "SOA"]
83
+ """RRSet type"""
84
+
85
+ filter_set_id: Optional[int] = None
86
+
87
+ meta: Optional[Dict[str, object]] = None
88
+ """Meta information for rrset.
89
+
90
+ Map with string key and any valid json as value, with valid keys
91
+
92
+ 1. `failover` (object, beta feature, might be changed in the future) can have
93
+ fields 1.1. `protocol` (string, required, HTTP, TCP, UDP, ICMP) 1.2. `port`
94
+ (int, required, 1-65535) 1.3. `frequency` (int, required, in seconds 10-3600)
95
+ 1.4. `timeout` (int, required, in seconds 1-10), 1.5. `method` (string, only
96
+ for protocol=HTTP) 1.6. `command` (string, bytes to be sent only for
97
+ protocol=TCP/UDP) 1.7. `url` (string, only for protocol=HTTP) 1.8. `tls`
98
+ (bool, only for protocol=HTTP) 1.9. `regexp` (string regex to match, only for
99
+ non-ICMP) 1.10. `http_status_code` (int, only for protocol=HTTP) 1.11. `host`
100
+ (string, only for protocol=HTTP)
101
+ 2. `geodns_link` (string) - name of the geodns link to use, if previously set,
102
+ must re-send when updating or CDN integration will be removed for this RRSet
103
+ """
104
+
105
+ pickers: Optional[List[Picker]] = None
106
+ """Set of pickers"""
107
+
108
+ ttl: Optional[int] = None
109
+
110
+ updated_at: Optional[datetime] = None
111
+ """Timestamp marshals/unmarshals date and time as timestamp in json"""
112
+
113
+ warning: Optional[str] = None
114
+ """
115
+ Warning about some possible side effects without strictly disallowing operations
116
+ on rrset readonly Deprecated: use Warnings instead
117
+ """
118
+
119
+ warnings: Optional[List[Warning]] = None
120
+ """
121
+ Warning about some possible side effects without strictly disallowing operations
122
+ on rrset readonly
123
+ """
@@ -0,0 +1,38 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+
5
+ from ...._models import BaseModel
6
+
7
+ __all__ = ["DnssecGetResponse"]
8
+
9
+
10
+ class DnssecGetResponse(BaseModel):
11
+ algorithm: Optional[str] = None
12
+ """Specifies the algorithm used for the key."""
13
+
14
+ digest: Optional[str] = None
15
+ """Represents the hashed value of the DS record."""
16
+
17
+ digest_algorithm: Optional[str] = None
18
+ """Specifies the algorithm used to generate the digest."""
19
+
20
+ digest_type: Optional[str] = None
21
+ """Specifies the type of the digest algorithm used."""
22
+
23
+ ds: Optional[str] = None
24
+ """Represents the complete DS record."""
25
+
26
+ flags: Optional[int] = None
27
+ """Represents the flag for DNSSEC record."""
28
+
29
+ key_tag: Optional[int] = None
30
+ """Represents the identifier of the DNSKEY record."""
31
+
32
+ key_type: Optional[str] = None
33
+ """Specifies the type of the key used in the algorithm."""
34
+
35
+ public_key: Optional[str] = None
36
+ """Represents the public key used in the DS record."""
37
+
38
+ uuid: Optional[str] = None
@@ -0,0 +1,11 @@
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 TypedDict
6
+
7
+ __all__ = ["DnssecUpdateParams"]
8
+
9
+
10
+ class DnssecUpdateParams(TypedDict, total=False):
11
+ enabled: bool